#include <bits/c++config.h>
#include <cstring>
#include <climits>
#include <cstdlib>
#include <cstddef>
#include <new>
#include <iosfwd>
#include <bits/stl_pair.h>
#include <bits/type_traits.h>
#include <bits/stl_iterator_base_types.h>
#include <bits/stl_iterator_base_funcs.h>
#include <bits/stl_iterator.h>
#include <bits/concept_check.h>
#include <debug/debug.h>
Include dependency graph for stl_algobase.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | std |
Functions | |
template<typename ForwardIterator1, typename ForwardIterator2> void | iter_swap (ForwardIterator1 a, ForwardIterator2 __b) |
Swaps the contents of two iterators. | |
template<typename Type> void | swap (Type &a, Type &__b) |
Swaps two values. | |
template<typename Type> const Type & | min (const Type &a, const Type &__b) |
This does what you think it does. | |
template<typename Type> const Type & | max (const Type &a, const Type &__b) |
This does what you think it does. | |
template<typename Type, typename Compare> const Type & | min (const Type &a, const Type &__b, Compare comp) |
This does what you think it does. | |
template<typename Type, typename Compare> const Type & | max (const Type &a, const Type &__b, Compare comp) |
This does what you think it does. | |
template<typename InputIterator, typename OutputIterator> OutputIterator | copy (InputIterator first, InputIterator last, OutputIterator __result) |
Copies the range [first,last) into result. | |
template<typename BI1, typename BI2> BI2 | copy_backward (BI1 first, BI1 last, BI2 __result) |
Copies the range [first,last) into result. | |
template<typename ForwardIterator, typename Type> void | fill (ForwardIterator first, ForwardIterator last, const Type &value) |
Fills the range [first,last) with copies of value. | |
template<typename OutputIterator, typename Size, typename Type> OutputIterator | fill_n (OutputIterator first, Size n, const Type &value) |
Fills the range [first,first+n) with copies of value. | |
template<typename InputIterator1, typename InputIterator2> pair< InputIterator1, InputIterator2 > | mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) |
Finds the places in ranges which don't match. | |
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate> pair< InputIterator1, InputIterator2 > | mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred) |
Finds the places in ranges which don't match. | |
template<typename InputIterator1, typename InputIterator2> bool | equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) |
Tests a range for element-wise equality. | |
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate> bool | equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred) |
Tests a range for element-wise equality. | |
template<typename InputIterator1, typename InputIterator2> bool | lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2) |
Performs "dictionary" comparison on ranges. | |
template<typename InputIterator1, typename InputIterator2, typename Compare> bool | lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp) |
Performs "dictionary" comparison on ranges. |
Definition in file stl_algobase.h.
|
Copies the range [first,last) into result.
memmove whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). Result may not be contained within [first,last); the copy_backward function should be used instead.Note that the end of the output range is permitted to be contained within [first,last). Definition at line 348 of file stl_algobase.h. Referenced by std::basic_string< CharT, Traits, Alloc >::assign(), std::basic_string< CharT, Traits, Alloc >::copy(), std::vector< Type, Alloc >::erase(), std::deque< Type, Alloc >::erase(), std::basic_istream< CharT, Traits >::getline(), std::basic_string< CharT, Traits, Alloc >::insert(), std::merge(), std::vector< Type, Alloc >::operator=(), std::deque< Type, Alloc >::operator=(), std::basic_string< CharT, Traits, Alloc >::replace(), std::rotate_copy(), std::set_difference(), std::set_symmetric_difference(), std::set_union(), std::basic_filebuf< CharT, Traits >::underflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn(). |
|
Copies the range [first,last) into result.
memmove whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling).Result may not be in the range [first,last). Use copy instead. Note that the start of the output range may overlap [first,last). Definition at line 487 of file stl_algobase.h. Referenced by std::deque< Type, Alloc >::erase(). |
|
Tests a range for element-wise equality.
|
|
Tests a range for element-wise equality.
== and returns true or false depending on whether all of the corresponding elements of the ranges are equal. Definition at line 680 of file stl_algobase.h.
Referenced by std::operator==(). |
|
Fills the range [first,last) with copies of value.
memset . Definition at line 516 of file stl_algobase.h. |
|
Fills the range [first,first+n) with copies of value.
memset . Definition at line 540 of file stl_algobase.h. |
|
Swaps the contents of two iterators.
Referenced by std::next_permutation(), std::prev_permutation(), std::random_shuffle(), and std::swap_ranges(). |
|
Performs "dictionary" comparison on ranges.
lexigraphical_compare , but uses the comp parameter instead of < . Definition at line 782 of file stl_algobase.h. |
|
Performs "dictionary" comparison on ranges.
memcmp . Definition at line 744 of file stl_algobase.h.
Referenced by std::operator<(). |
|
This does what you think it does.
Referenced by std::basic_istream< CharT, Traits >::ignore(), and std::operator>>(). |
|
This does what you think it does.
Referenced by std::abs(), and std::basic_stringbuf< CharT, Traits, Alloc >::overflow(). |
|
This does what you think it does.
Referenced by std::basic_istream< CharT, Traits >::operator>>(), and __gnu_cxx::random_sample_n(). |
|
This does what you think it does.
Referenced by std::basic_string< CharT, Traits, Alloc >::compare(), std::basic_string< char >::compare(), std::basic_istream< CharT, Traits >::getline(), std::basic_stringbuf< CharT, Traits, Alloc >::overflow(), std::basic_string< CharT, Traits, Alloc >::rfind(), std::basic_filebuf< CharT, Traits >::underflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn(). |
|
Finds the places in ranges which don't match.
|
|
Finds the places in ranges which don't match.
== and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal. Definition at line 614 of file stl_algobase.h. |
|
Swaps two values.
|