Classes | |
struct | __allocator |
class | __debug_alloc |
class | __default_alloc_template |
class | __malloc_alloc_template |
class | __new_alloc |
class | __simple_alloc |
struct | _Alloc_traits |
struct | _Alloc_traits< _Tp, __allocator< _Tp1, __malloc_alloc_template< __inst > > > |
Versions for the __allocator adaptor used with the predefined "SGI" style allocators. More... | |
struct | _Alloc_traits< _Tp, __malloc_alloc_template< __inst > > |
Versions for the predefined "SGI" style allocators. More... | |
struct | _Alloc_traits< _Tp, allocator< _Tp1 > > |
The version for the default allocator. More... | |
struct | _Deque_iterator |
A deque::iterator. More... | |
class | allocator |
The "standard" allocator, as per [20.4]. More... | |
class | auto_ptr |
A simple smart pointer providing strict ownership semantics. More... | |
struct | auto_ptr_ref |
class | back_insert_iterator |
class | bad_alloc |
class | bad_cast |
class | bad_exception |
class | bad_typeid |
class | basic_fstream |
class | basic_ifstream |
class | basic_ofstream |
struct | bidirectional_iterator_tag |
Bidirectional iterators support a superset of forward iterator operations. More... | |
struct | binary_function |
class | binary_negate |
One of the negation functors. More... | |
class | binder1st |
One of the binder functors. More... | |
class | binder2nd |
One of the binder functors. More... | |
class | bitset |
The bitset class represents a fixed-size sequence of bits. More... | |
class | bitset::reference |
struct | char_traits |
21.1.2 Basis for explicit _Traits specialization NB: That for any given actual character type this definition is probably wrong. More... | |
struct | char_traits< char > |
21.1.4 char_traits specializations More... | |
class | const_mem_fun1_ref_t |
One of the adaptors for member pointers. More... | |
class | const_mem_fun1_ref_t< void, _Tp, _Arg > |
One of the adaptors for member pointers. More... | |
class | const_mem_fun1_t |
One of the adaptors for member pointers. More... | |
class | const_mem_fun1_t< void, _Tp, _Arg > |
One of the adaptors for member pointers. More... | |
class | const_mem_fun_ref_t |
One of the adaptors for member pointers. More... | |
class | const_mem_fun_ref_t< void, _Tp > |
One of the adaptors for member pointers. More... | |
class | const_mem_fun_t |
One of the adaptors for member pointers. More... | |
class | const_mem_fun_t< void, _Tp > |
One of the adaptors for member pointers. More... | |
class | deque |
struct | divides |
One of the math functors. More... | |
class | domain_error |
struct | equal_to |
One of the comparison functors. More... | |
class | exception |
Base class for all library exceptions. More... | |
struct | forward_iterator_tag |
Forward iterators support a superset of input iterator operations. More... | |
class | front_insert_iterator |
struct | greater |
One of the comparison functors. More... | |
struct | greater_equal |
One of the comparison functors. More... | |
struct | input_iterator_tag |
Marking input iterators. More... | |
class | insert_iterator |
class | invalid_argument |
struct | iterator |
struct | iterator_traits |
class | length_error |
struct | less |
One of the comparison functors. More... | |
struct | less_equal |
One of the comparison functors. More... | |
class | list |
class | logic_error |
One of two subclasses of exception. More... | |
struct | logical_and |
One of the Boolean operations functors. More... | |
struct | logical_not |
One of the Boolean operations functors. More... | |
struct | logical_or |
One of the Boolean operations functors. More... | |
class | map |
A standard container made up of pairs (see std::pair in ) which can be retrieved based on a key. More... | |
class | mem_fun1_ref_t |
One of the adaptors for member pointers. More... | |
class | mem_fun1_ref_t< void, _Tp, _Arg > |
One of the adaptors for member pointers. More... | |
class | mem_fun1_t |
One of the adaptors for member pointers. More... | |
class | mem_fun1_t< void, _Tp, _Arg > |
One of the adaptors for member pointers. More... | |
class | mem_fun_ref_t |
One of the adaptors for member pointers. More... | |
class | mem_fun_ref_t< void, _Tp > |
One of the adaptors for member pointers. More... | |
class | mem_fun_t |
One of the adaptors for member pointers. More... | |
class | mem_fun_t< void, _Tp > |
One of the adaptors for member pointers. More... | |
struct | minus |
One of the math functors. More... | |
struct | modulus |
One of the math functors. More... | |
class | multimap |
A standard container made up of pairs (see std::pair in ) which can be retrieved based on a key. More... | |
struct | multiplies |
One of the math functors. More... | |
struct | negate |
One of the math functors. More... | |
struct | not_equal_to |
One of the comparison functors. More... | |
class | out_of_range |
struct | output_iterator_tag |
Marking output iterators. More... | |
class | overflow_error |
struct | pair |
pair holds two objects of arbitrary type. More... | |
struct | plus |
One of the math functors. More... | |
class | pointer_to_binary_function |
One of the adaptors for function pointers. More... | |
class | pointer_to_unary_function |
One of the adaptors for function pointers. More... | |
struct | random_access_iterator_tag |
Random-access iterators support a superset of bidirectional iterator operations. More... | |
class | range_error |
class | raw_storage_iterator |
class | reverse_iterator |
class | runtime_error |
One of two subclasses of exception. More... | |
class | type_info |
Used in RTTI. More... | |
struct | unary_function |
class | unary_negate |
One of the negation functors. More... | |
class | underflow_error |
class | vector |
A standard container which offers fixed time access to individual elements in any order. More... | |
[NOHEADER] | |
template<int inst> bool | operator== (const __malloc_alloc_template< inst > &, const __malloc_alloc_template< inst > &) |
template<int __inst> bool | operator!= (const __malloc_alloc_template< __inst > &, const __malloc_alloc_template< __inst > &) |
template<typename _Alloc> bool | operator== (const __debug_alloc< _Alloc > &, const __debug_alloc< _Alloc > &) |
template<typename _Alloc> bool | operator!= (const __debug_alloc< _Alloc > &, const __debug_alloc< _Alloc > &) |
[NOHEADER] | |
template<typename _Iterator> bool | operator== (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> bool | operator< (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> bool | operator!= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> bool | operator> (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> bool | operator<= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> bool | operator>= (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> reverse_iterator< _Iterator >::difference_type | operator- (const reverse_iterator< _Iterator > &__x, const reverse_iterator< _Iterator > &__y) |
template<typename _Iterator> reverse_iterator< _Iterator > | operator+ (typename reverse_iterator< _Iterator >::difference_type __n, const reverse_iterator< _Iterator > &__x) |
[NOHEADER] | |
template<size_t _Nb> bitset< _Nb > | operator & (const bitset< _Nb > &__x, const bitset< _Nb > &__y) |
Global bitwise operations on bitsets. | |
template<size_t _Nb> bitset< _Nb > | operator| (const bitset< _Nb > &__x, const bitset< _Nb > &__y) |
Global bitwise operations on bitsets. | |
template<size_t _Nb> bitset< _Nb > | operator^ (const bitset< _Nb > &__x, const bitset< _Nb > &__y) |
Global bitwise operations on bitsets. | |
[NOHEADER] | |
template<class _CharT, class _Traits, size_t _Nb> basic_istream< _CharT, _Traits > & | operator>> (basic_istream< _CharT, _Traits > &__is, bitset< _Nb > &__x) |
Global I/O operators for bitsets. | |
template<class _CharT, class _Traits, size_t _Nb> basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__os, const bitset< _Nb > &__x) |
Global I/O operators for bitsets. | |
Typedefs | |
typedef void(* | terminate_handler )() |
If you write a replacement terminate handler, it must be of this type. | |
typedef void(* | unexpected_handler )() |
If you write a replacement unexpected handler, it must be of this type. | |
typedef void(* | new_handler )() |
Functions | |
terminate_handler | set_terminate (terminate_handler) throw () |
Takes a new handler function as an argument, returns the old function. | |
void | terminate () __attribute__((__noreturn__)) |
unexpected_handler | set_unexpected (unexpected_handler) throw () |
Takes a new handler function as an argument, returns the old function. | |
void | unexpected () __attribute__((__noreturn__)) |
bool | uncaught_exception () throw () |
new_handler | set_new_handler (new_handler) throw () |
Takes a replacement handler as the argument, returns the previous handler. | |
template<typename _Tp> const _Tp & | __median (const _Tp &__a, const _Tp &__b, const _Tp &__c) |
Find the median of three values. | |
template<typename _Tp, typename _Compare> const _Tp & | __median (const _Tp &__a, const _Tp &__b, const _Tp &__c, _Compare __comp) |
Find the median of three values using a predicate for comparison. | |
template<typename _InputIter, typename _Function> _Function | for_each (_InputIter __first, _InputIter __last, _Function __f) |
Apply a function to every element of a sequence. | |
template<typename _InputIter, typename _Tp> _InputIter | find (_InputIter __first, _InputIter __last, const _Tp &__val) |
Find the first occurrence of a value in a sequence. | |
template<typename _InputIter, typename _Predicate> _InputIter | find_if (_InputIter __first, _InputIter __last, _Predicate __pred) |
Find the first element in a sequence for which a predicate is true. | |
template<typename _ForwardIter> _ForwardIter | adjacent_find (_ForwardIter __first, _ForwardIter __last) |
Find two adjacent values in a sequence that are equal. | |
template<typename _ForwardIter, typename _BinaryPredicate> _ForwardIter | adjacent_find (_ForwardIter __first, _ForwardIter __last, _BinaryPredicate __binary_pred) |
Find two adjacent values in a sequence using a predicate. | |
template<typename _InputIter, typename _Tp> iterator_traits< _InputIter >::difference_type | count (_InputIter __first, _InputIter __last, const _Tp &__value) |
Count the number of copies of a value in a sequence. | |
template<typename _InputIter, typename _Predicate> iterator_traits< _InputIter >::difference_type | count_if (_InputIter __first, _InputIter __last, _Predicate __pred) |
Count the elements of a sequence for which a predicate is true. | |
template<typename _ForwardIter1, typename _ForwardIter2> _ForwardIter1 | search (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2, _ForwardIter2 __last2) |
Search a sequence for a matching sub-sequence. | |
template<typename _ForwardIter1, typename _ForwardIter2, typename _BinaryPred> _ForwardIter1 | search (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2, _ForwardIter2 __last2, _BinaryPred __predicate) |
Search a sequence for a matching sub-sequence using a predicate. | |
template<typename _ForwardIter, typename _Integer, typename _Tp> _ForwardIter | search_n (_ForwardIter __first, _ForwardIter __last, _Integer __count, const _Tp &__val) |
Search a sequence for a number of consecutive values. | |
template<typename _ForwardIter, typename _Integer, typename _Tp, typename _BinaryPred> _ForwardIter | search_n (_ForwardIter __first, _ForwardIter __last, _Integer __count, const _Tp &__val, _BinaryPred __binary_pred) |
Search a sequence for a number of consecutive values using a predicate. | |
template<typename _ForwardIter1, typename _ForwardIter2> _ForwardIter2 | swap_ranges (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2) |
Swap the elements of two sequences. | |
template<typename _InputIter, typename _OutputIter, typename _UnaryOperation> _OutputIter | transform (_InputIter __first, _InputIter __last, _OutputIter __result, _UnaryOperation __unary_op) |
Perform an operation on a sequence. | |
template<typename _InputIter1, typename _InputIter2, typename _OutputIter, typename _BinaryOperation> _OutputIter | transform (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _OutputIter __result, _BinaryOperation __binary_op) |
Perform an operation on corresponding elements of two sequences. | |
template<typename _ForwardIter, typename _Tp> void | replace (_ForwardIter __first, _ForwardIter __last, const _Tp &__old_value, const _Tp &__new_value) |
Replace each occurrence of one value in a sequence with another value. | |
template<typename _ForwardIter, typename _Predicate, typename _Tp> void | replace_if (_ForwardIter __first, _ForwardIter __last, _Predicate __pred, const _Tp &__new_value) |
Replace each value in a sequence for which a predicate returns true with another value. | |
template<typename _InputIter, typename _OutputIter, typename _Tp> _OutputIter | replace_copy (_InputIter __first, _InputIter __last, _OutputIter __result, const _Tp &__old_value, const _Tp &__new_value) |
Copy a sequence, replacing each element of one value with another value. | |
template<typename _InputIter, typename _OutputIter, typename _Predicate, typename _Tp> _OutputIter | replace_copy_if (_InputIter __first, _InputIter __last, _OutputIter __result, _Predicate __pred, const _Tp &__new_value) |
Copy a sequence, replacing each value for which a predicate returns true with another value. | |
template<typename _ForwardIter, typename _Generator> void | generate (_ForwardIter __first, _ForwardIter __last, _Generator __gen) |
Assign the result of a function object to each value in a sequence. | |
template<typename _OutputIter, typename _Size, typename _Generator> _OutputIter | generate_n (_OutputIter __first, _Size __n, _Generator __gen) |
Assign the result of a function object to each value in a sequence. | |
template<typename _InputIter, typename _OutputIter, typename _Tp> _OutputIter | remove_copy (_InputIter __first, _InputIter __last, _OutputIter __result, const _Tp &__value) |
Copy a sequence, removing elements of a given value. | |
template<typename _InputIter, typename _OutputIter, typename _Predicate> _OutputIter | remove_copy_if (_InputIter __first, _InputIter __last, _OutputIter __result, _Predicate __pred) |
Copy a sequence, removing elements for which a predicate is true. | |
template<typename _ForwardIter, typename _Tp> _ForwardIter | remove (_ForwardIter __first, _ForwardIter __last, const _Tp &__value) |
Remove elements from a sequence. | |
template<typename _ForwardIter, typename _Predicate> _ForwardIter | remove_if (_ForwardIter __first, _ForwardIter __last, _Predicate __pred) |
Remove elements from a sequence using a predicate. | |
template<typename _InputIter, typename _OutputIter> _OutputIter | unique_copy (_InputIter __first, _InputIter __last, _OutputIter __result) |
Copy a sequence, removing consecutive duplicate values. | |
template<typename _InputIter, typename _OutputIter, typename _BinaryPredicate> _OutputIter | unique_copy (_InputIter __first, _InputIter __last, _OutputIter __result, _BinaryPredicate __binary_pred) |
Copy a sequence, removing consecutive values using a predicate. | |
template<typename _ForwardIter> _ForwardIter | unique (_ForwardIter __first, _ForwardIter __last) |
Remove consecutive duplicate values from a sequence. | |
template<typename _ForwardIter, typename _BinaryPredicate> _ForwardIter | unique (_ForwardIter __first, _ForwardIter __last, _BinaryPredicate __binary_pred) |
Remove consecutive values from a sequence using a predicate. | |
template<typename _BidirectionalIter> void | reverse (_BidirectionalIter __first, _BidirectionalIter __last) |
Reverse a sequence. | |
template<typename _BidirectionalIter, typename _OutputIter> _OutputIter | reverse_copy (_BidirectionalIter __first, _BidirectionalIter __last, _OutputIter __result) |
Copy a sequence, reversing its elements. | |
template<typename _ForwardIter> void | rotate (_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last) |
Rotate the elements of a sequence. | |
template<typename _ForwardIter, typename _OutputIter> _OutputIter | rotate_copy (_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last, _OutputIter __result) |
Copy a sequence, rotating its elements. | |
template<typename _RandomAccessIter> void | random_shuffle (_RandomAccessIter __first, _RandomAccessIter __last) |
Randomly shuffle the elements of a sequence. | |
template<typename _RandomAccessIter, typename _RandomNumberGenerator> void | random_shuffle (_RandomAccessIter __first, _RandomAccessIter __last, _RandomNumberGenerator &__rand) |
Shuffle the elements of a sequence using a random number generator. | |
template<typename _ForwardIter, typename _Predicate> _ForwardIter | partition (_ForwardIter __first, _ForwardIter __last, _Predicate __pred) |
Move elements for which a predicate is true to the beginning of a sequence. | |
template<typename _ForwardIter, typename _Predicate> _ForwardIter | stable_partition (_ForwardIter __first, _ForwardIter __last, _Predicate __pred) |
Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering. | |
template<typename _RandomAccessIter> void | sort (_RandomAccessIter __first, _RandomAccessIter __last) |
Sort the elements of a sequence. | |
template<typename _RandomAccessIter, typename _Compare> void | sort (_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp) |
Sort the elements of a sequence using a predicate for comparison. | |
template<typename _RandomAccessIter> void | stable_sort (_RandomAccessIter __first, _RandomAccessIter __last) |
Sort the elements of a sequence, preserving the relative order of equivalent elements. | |
template<typename _RandomAccessIter, typename _Compare> void | stable_sort (_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp) |
Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements. | |
template<typename _RandomAccessIter> void | partial_sort (_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last) |
Sort the smallest elements of a sequence. | |
template<typename _RandomAccessIter, typename _Compare> void | partial_sort (_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last, _Compare __comp) |
Sort the smallest elements of a sequence using a predicate for comparison. | |
template<typename _InputIter, typename _RandomAccessIter> _RandomAccessIter | partial_sort_copy (_InputIter __first, _InputIter __last, _RandomAccessIter __result_first, _RandomAccessIter __result_last) |
Copy the smallest elements of a sequence. | |
template<typename _InputIter, typename _RandomAccessIter, typename _Compare> _RandomAccessIter | partial_sort_copy (_InputIter __first, _InputIter __last, _RandomAccessIter __result_first, _RandomAccessIter __result_last, _Compare __comp) |
Copy the smallest elements of a sequence using a predicate for comparison. | |
template<typename _RandomAccessIter> void | nth_element (_RandomAccessIter __first, _RandomAccessIter __nth, _RandomAccessIter __last) |
Sort a sequence just enough to find a particular position. | |
template<typename _RandomAccessIter, typename _Compare> void | nth_element (_RandomAccessIter __first, _RandomAccessIter __nth, _RandomAccessIter __last, _Compare __comp) |
Sort a sequence just enough to find a particular position using a predicate for comparison. | |
template<typename _ForwardIter, typename _Tp> _ForwardIter | lower_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val) |
Finds the first position in which val could be inserted without changing the ordering. | |
template<typename _ForwardIter, typename _Tp, typename _Compare> _ForwardIter | lower_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp) |
Finds the first position in which val could be inserted without changing the ordering. | |
template<typename _ForwardIter, typename _Tp> _ForwardIter | upper_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val) |
Finds the last position in which val could be inserted without changing the ordering. | |
template<typename _ForwardIter, typename _Tp, typename _Compare> _ForwardIter | upper_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp) |
Finds the last position in which val could be inserted without changing the ordering. | |
template<typename _ForwardIter, typename _Tp> pair< _ForwardIter, _ForwardIter > | equal_range (_ForwardIter __first, _ForwardIter __last, const _Tp &__val) |
Finds the largest subrange in which val could be inserted at any place in it without changing the ordering. | |
template<typename _ForwardIter, typename _Tp, typename _Compare> pair< _ForwardIter, _ForwardIter > | equal_range (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp) |
Finds the largest subrange in which val could be inserted at any place in it without changing the ordering. | |
template<typename _ForwardIter, typename _Tp> bool | binary_search (_ForwardIter __first, _ForwardIter __last, const _Tp &__val) |
Determines whether an element exists in a range. | |
template<typename _ForwardIter, typename _Tp, typename _Compare> bool | binary_search (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp) |
Determines whether an element exists in a range. | |
template<typename _InputIter1, typename _InputIter2, typename _OutputIter> _OutputIter | merge (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result) |
Merges two sorted ranges. | |
template<typename _InputIter1, typename _InputIter2, typename _OutputIter, typename _Compare> _OutputIter | merge (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp) |
Merges two sorted ranges. | |
template<typename _BidirectionalIter> void | inplace_merge (_BidirectionalIter __first, _BidirectionalIter __middle, _BidirectionalIter __last) |
Merges two sorted ranges in place. | |
template<typename _BidirectionalIter, typename _Compare> void | inplace_merge (_BidirectionalIter __first, _BidirectionalIter __middle, _BidirectionalIter __last, _Compare __comp) |
Merges two sorted ranges in place. | |
template<typename _ForwardIter1, typename _ForwardIter2> void | iter_swap (_ForwardIter1 __a, _ForwardIter2 __b) |
Swaps the contents of two iterators. | |
template<typename _Tp> void | swap (_Tp &__a, _Tp &__b) |
Swaps two values. | |
template<typename _Tp> const _Tp & | min (const _Tp &__a, const _Tp &__b) |
This does what you think it does. | |
template<typename _Tp> const _Tp & | max (const _Tp &__a, const _Tp &__b) |
This does what you think it does. | |
template<typename _Tp, typename _Compare> const _Tp & | min (const _Tp &__a, const _Tp &__b, _Compare __comp) |
This does what you think it does. | |
template<typename _Tp, typename _Compare> const _Tp & | max (const _Tp &__a, const _Tp &__b, _Compare __comp) |
This does what you think it does. | |
template<typename _InputIter, typename _OutputIter> _OutputIter | copy (_InputIter __first, _InputIter __last, _OutputIter __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 _ForwardIter, typename _Tp> void | fill (_ForwardIter __first, _ForwardIter __last, const _Tp &__value) |
Fills the range [first,last) with copies of value. | |
template<typename _OutputIter, typename _Size, typename _Tp> _OutputIter | fill_n (_OutputIter __first, _Size __n, const _Tp &__value) |
Fills the range [first,first+n) with copies of value. | |
template<typename _InputIter1, typename _InputIter2> pair< _InputIter1, _InputIter2 > | mismatch (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2) |
Finds the places in ranges which don't match. | |
template<typename _InputIter1, typename _InputIter2, typename _BinaryPredicate> pair< _InputIter1, _InputIter2 > | mismatch (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _BinaryPredicate __binary_pred) |
Finds the places in ranges which don't match. | |
template<typename _InputIter1, typename _InputIter2> bool | equal (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2) |
Tests a range for element-wise equality. | |
template<typename _InputIter1, typename _InputIter2, typename _BinaryPredicate> bool | equal (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _BinaryPredicate __binary_pred) |
Tests a range for element-wise equality. | |
template<typename _InputIter1, typename _InputIter2> bool | lexicographical_compare (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2) |
Performs "dictionary" comparison on ranges. | |
template<typename _InputIter1, typename _InputIter2, typename _Compare> bool | lexicographical_compare (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) |
Performs "dictionary" comparison on ranges. | |
template<class _Predicate> unary_negate< _Predicate > | not1 (const _Predicate &__pred) |
One of the negation functors. | |
template<class _Predicate> binary_negate< _Predicate > | not2 (const _Predicate &__pred) |
One of the negation functors. | |
template<class _Operation, class _Tp> binder1st< _Operation > | bind1st (const _Operation &__fn, const _Tp &__x) |
One of the binder functors. | |
template<class _Operation, class _Tp> binder2nd< _Operation > | bind2nd (const _Operation &__fn, const _Tp &__x) |
One of the binder functors. | |
template<class _Arg, class _Result> pointer_to_unary_function< _Arg, _Result > | ptr_fun (_Result(*__x)(_Arg)) |
One of the adaptors for function pointers. | |
template<class _Arg1, class _Arg2, class _Result> pointer_to_binary_function< _Arg1, _Arg2, _Result > | ptr_fun (_Result(*__x)(_Arg1, _Arg2)) |
One of the adaptors for function pointers. | |
template<typename _Container> back_insert_iterator< _Container > | back_inserter (_Container &__x) |
template<typename _Container> front_insert_iterator< _Container > | front_inserter (_Container &__x) |
template<typename _Container, typename _Iterator> insert_iterator< _Container > | inserter (_Container &__x, _Iterator __i) |
template<typename _InputIterator> iterator_traits< _InputIterator >::difference_type | distance (_InputIterator __first, _InputIterator __last) |
A generalization of pointer arithmetic. | |
template<typename _InputIterator, typename _Distance> void | advance (_InputIterator &__i, _Distance __n) |
A generalization of pointer arithmetic. | |
template<class _T1, class _T2> bool | operator== (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
Two pairs of the same type are equal iff their members are equal. | |
template<class _T1, class _T2> bool | operator< (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
<http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt> | |
template<class _T1, class _T2> bool | operator!= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
Uses operator== to find the result. | |
template<class _T1, class _T2> bool | operator> (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
Uses operator< to find the result. | |
template<class _T1, class _T2> bool | operator<= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
Uses operator< to find the result. | |
template<class _T1, class _T2> bool | operator>= (const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y) |
Uses operator< to find the result. | |
template<class _T1, class _T2> pair< _T1, _T2 > | make_pair (const _T1 &__x, const _T2 &__y) |
A convenience wrapper for creating a pair from two objects. | |
template<typename _InputIter, typename _ForwardIter> _ForwardIter | uninitialized_copy (_InputIter __first, _InputIter __last, _ForwardIter __result) |
Copies the range [first,last) into result. | |
template<typename _ForwardIter, typename _Tp> void | uninitialized_fill (_ForwardIter __first, _ForwardIter __last, const _Tp &__x) |
Copies the value x into the range [first,last). | |
template<typename _ForwardIter, typename _Size, typename _Tp> _ForwardIter | uninitialized_fill_n (_ForwardIter __first, _Size __n, const _Tp &__x) |
Copies the value x into the range [first,first+n). | |
template<typename _Tp> pair< _Tp *, ptrdiff_t > | get_temporary_buffer (ptrdiff_t __len) |
This is a mostly-useless wrapper around malloc(). | |
template<typename _Tp> void | return_temporary_buffer (_Tp *__p) |
The companion to get_temporary_buffer(). |
|
If you write your own error handler to be called by |
|
If you write a replacement terminate handler, it must be of this type.
|
|
If you write a replacement unexpected handler, it must be of this type.
|
|
Find two adjacent values in a sequence using a predicate.
Definition at line 360 of file stl_algo.h. |
|
Find two adjacent values in a sequence that are equal.
Definition at line 331 of file stl_algo.h. Referenced by unique(). |
|
A generalization of pointer arithmetic.
i by n . For bidirectional and random access iterators, n may be negative, in which case i is decremented.
For random access iterators, this uses their Definition at line 166 of file stl_iterator_base_funcs.h. Referenced by equal_range(), lower_bound(), and upper_bound(). |
|
Definition at line 397 of file stl_iterator.h. References std::front_insert_iterator< _Container >::container_type. |
|
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). If the input range and the output range overlap, then the copy_backward function should be used instead.
Definition at line 341 of file stl_algobase.h. Referenced by std::vector< _Node *, _Alloc >::erase(), merge(), and rotate_copy(). |
|
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).
Definition at line 479 of file stl_algobase.h. |
|
Count the number of copies of a value in a sequence.
Definition at line 389 of file stl_algo.h. Referenced by std::bitset< _Nb >::count(). |
|
Count the elements of a sequence for which a predicate is true.
Definition at line 413 of file stl_algo.h. |
|
A generalization of pointer arithmetic.
n such that first + n == last. This requires that last must be reachable from first . Note that n may be negative.
For random access iterators, this uses their Definition at line 113 of file stl_iterator_base_funcs.h. Referenced by equal_range(), inplace_merge(), lower_bound(), __gnu_cxx::random_sample_n(), and upper_bound(). |
|
Tests a range for element-wise equality.
Definition at line 701 of file stl_algobase.h. |
|
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 670 of file stl_algobase.h. |
|
Fills the range [first,last) with copies of value.
memset .
Definition at line 511 of file stl_algobase.h. |
|
Fills the range [first,first+n) with copies of value.
memset .
Definition at line 533 of file stl_algobase.h. |
|
Find the first occurrence of a value in a sequence.
Definition at line 291 of file stl_algo.h. Referenced by remove(), search(), and search_n(). |
|
Find the first element in a sequence for which a predicate is true.
Definition at line 311 of file stl_algo.h. Referenced by remove_if(). |
|
Apply a function to every element of a sequence.
f to each element in the range [first,last). f must not modify the order of the sequence. If f has a return value it is ignored.
Definition at line 152 of file stl_algo.h. |
|
Definition at line 466 of file stl_iterator.h. |
|
Assign the result of a function object to each value in a sequence.
*i = gen() for each i in the range [first,last).
Definition at line 920 of file stl_algo.h. |
|
Assign the result of a function object to each value in a sequence.
*i = gen() for each i in the range [first,first+n).
Definition at line 944 of file stl_algo.h. |
|
This is a mostly-useless wrapper around malloc().
This function tries to obtain storage for |
|
Merges two sorted ranges in place.
If enough additional memory is available, this takes (last-first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(first,last). The comparison function should have the same effects on ordering as the function used for the initial sort. Definition at line 3562 of file stl_algo.h. References distance(). |
|
Merges two sorted ranges in place.
If enough additional memory is available, this takes (last-first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(first,last). Definition at line 3511 of file stl_algo.h. References distance(). |
|
Definition at line 557 of file stl_iterator.h. References std::reverse_iterator< _Iterator >::pointer, and std::reverse_iterator< _Iterator >::reference. |
|
Swaps the contents of two iterators.
Definition at line 93 of file stl_algobase.h. Referenced by random_shuffle(), and swap_ranges(). |
|
Performs "dictionary" comparison on ranges.
lexigraphical_compare , but uses the comp parameter instead of < .
Definition at line 769 of file stl_algobase.h. |
|
Performs "dictionary" comparison on ranges.
memcmp .
Definition at line 734 of file stl_algobase.h. |
|
A convenience wrapper for creating a pair from two objects.
Definition at line 145 of file stl_pair.h. |
|
This does what you think it does.
Definition at line 206 of file stl_algobase.h. |
|
This does what you think it does.
Definition at line 168 of file stl_algobase.h. |
|
Merges two sorted ranges.
The comparison function should have the same effects on ordering as the function used for the initial sort. Definition at line 3170 of file stl_algo.h. References copy(). |
|
Merges two sorted ranges.
Definition at line 3118 of file stl_algo.h. References copy(). |
|
This does what you think it does.
Definition at line 188 of file stl_algobase.h. |
|
This does what you think it does.
Definition at line 148 of file stl_algobase.h. Referenced by __gnu_cxx::random_sample_n(). |
|
Finds the places in ranges which don't match.
Definition at line 642 of file stl_algobase.h. |
|
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 608 of file stl_algobase.h. |
|
Sort a sequence just enough to find a particular position using a predicate for comparison.
[first,last) so that *nth is the same element that would have been in that position had the whole sequence been sorted. The elements either side of *nth are not completely sorted, but for any iterator in the range [first,nth) and any iterator in the range [nth,last) it holds that comp(*j,*i) is false.
Definition at line 2731 of file stl_algo.h. References __median(). |
|
Sort a sequence just enough to find a particular position.
[first,last) so that *nth is the same element that would have been in that position had the whole sequence been sorted. whole sequence been sorted. The elements either side of *nth are not completely sorted, but for any iterator in the range [first,nth) and any iterator in the range [nth,last) it holds that *j<*i is false.
Definition at line 2689 of file stl_algo.h. References __median(). |
|
Global bitwise operations on bitsets.
|
|
Uses
Definition at line 108 of file stl_pair.h. |
|
Definition at line 294 of file stl_iterator.h. |
|
Comparison operators for all of the predifined SGI-style allocators. This ensures that __allocator<malloc_alloc> (for example) will work correctly. As required, all allocators compare equal. Definition at line 853 of file stl_alloc.h. |
|
Comparison operators for all of the predifined SGI-style allocators. This ensures that __allocator<malloc_alloc> (for example) will work correctly. As required, all allocators compare equal. Definition at line 842 of file stl_alloc.h. |
|
Definition at line 324 of file stl_iterator.h. |
|
Definition at line 318 of file stl_iterator.h. References std::back_insert_iterator< _Container >::container_type. |
|
<http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt>
Definition at line 100 of file stl_pair.h. |
|
Definition at line 288 of file stl_iterator.h. |
|
Global I/O operators for bitsets. Direct I/O between streams and bitsets is supported. Output is straightforward. Input will skip whitespace, only accept '0' and '1' characters, and will only extract as many digits as the bitset will hold. |
|
Uses
Definition at line 120 of file stl_pair.h. |
|
Definition at line 306 of file stl_iterator.h. References std::reverse_iterator< _Iterator >::base(). |
|
Two pairs of the same type are equal iff their members are equal.
Definition at line 93 of file stl_pair.h. References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second. |
|
Definition at line 282 of file stl_iterator.h. |
|
Comparison operators for all of the predifined SGI-style allocators. This ensures that __allocator<malloc_alloc> (for example) will work correctly. As required, all allocators compare equal. Definition at line 848 of file stl_alloc.h. |
|
Comparison operators for all of the predifined SGI-style allocators. This ensures that __allocator<malloc_alloc> (for example) will work correctly. As required, all allocators compare equal. Definition at line 836 of file stl_alloc.h. |
|
Uses
Definition at line 114 of file stl_pair.h. |
|
Definition at line 300 of file stl_iterator.h. |
|
Uses
Definition at line 126 of file stl_pair.h. |
|
Definition at line 312 of file stl_iterator.h. References std::reverse_iterator< _Iterator >::base(). |
|
Global I/O operators for bitsets. Direct I/O between streams and bitsets is supported. Output is straightforward. Input will skip whitespace, only accept '0' and '1' characters, and will only extract as many digits as the bitset will hold. Definition at line 1176 of file bitset. References std::bitset< _Nb >::_M_copy_from_string(). |
|
Global bitwise operations on bitsets.
|
|
Global bitwise operations on bitsets.
|
|
Sort the smallest elements of a sequence using a predicate for comparison.
(middle-first) elements in the range [first,last) and moves them to the range [first,middle). The order of the remaining elements in the range [middle,last) is undefined. After the sort if i and are iterators in the range [first,middle) such that precedes and is an iterator in the range [middle,last) then *comp (j,*i) and comp(*k,*i) are both false.
Definition at line 2543 of file stl_algo.h. |
|
Sort the smallest elements of a sequence.
(middle-first) elements in the range [first,last) and moves them to the range [first,middle). The order of the remaining elements in the range [middle,last) is undefined. After the sort if i and are iterators in the range [first,middle) such that precedes and is an iterator in the range [middle,last) then *j<*i and *k<*i are both false.
Definition at line 2505 of file stl_algo.h. |
|
Copy the smallest elements of a sequence using a predicate for comparison.
[first,last) to the range beginning at result_first , where the number of elements to be copied, N , is the smaller of (last-first) and (result_last-result_first). After the sort if i and are iterators in the range [result_first,result_first+N) such that precedes then comp(*j,*i) is false. The value returned is result_first+N .
Definition at line 2636 of file stl_algo.h. |
|
Copy the smallest elements of a sequence.
[first,last) to the range beginning at result_first , where the number of elements to be copied, N , is the smaller of (last-first) and (result_last-result_first). After the sort if i and are iterators in the range [result_first,result_first+N) such that precedes then *j<*i is false. The value returned is result_first+N .
Definition at line 2582 of file stl_algo.h. |
|
Move elements for which a predicate is true to the beginning of a sequence.
pred must not modify its operand. partition() does not preserve the relative ordering of elements in each group, use stable_partition() if this is needed.
Definition at line 1750 of file stl_algo.h. |
|
Shuffle the elements of a sequence using a random number generator.
[first,last) using rand to provide a random distribution. Calling rand(N) for a positive integer N should return a randomly chosen integer from the range [0,N).
Definition at line 1662 of file stl_algo.h. References iter_swap(). |
|
Randomly shuffle the elements of a sequence.
[first,last) using a random distribution, so that every possible ordering of the sequence is equally likely.
Definition at line 1636 of file stl_algo.h. References iter_swap(). |
|
Remove elements from a sequence.
value are removed from the range [first,last).remove() is stable, so the relative order of elements that are not removed is unchanged.
Elements between the end of the resulting sequence and Definition at line 1041 of file stl_algo.h. References find(), and remove_copy(). |
|
Copy a sequence, removing elements of a given value.
[first,last) not equal to value to the range beginning at result . remove_copy() is stable, so the relative order of elements that are copied is unchanged.
Definition at line 971 of file stl_algo.h. Referenced by remove(). |
|
Copy a sequence, removing elements for which a predicate is true.
[first,last) for which pred returns true to the range beginning at result .remove_copy_if() is stable, so the relative order of elements that are copied is unchanged. Definition at line 1005 of file stl_algo.h. Referenced by remove_if(). |
|
Remove elements from a sequence using a predicate.
pred returns true are removed from the range [first,last).remove_if() is stable, so the relative order of elements that are not removed is unchanged.
Elements between the end of the resulting sequence and Definition at line 1075 of file stl_algo.h. References find_if(), and remove_copy_if(). |
|
Replace each occurrence of one value in a sequence with another value.
i in the range [first,last) if *i == old_value then the assignment *i = new_value is performed.
Definition at line 798 of file stl_algo.h. |
|
Copy a sequence, replacing each element of one value with another value.
[first,last) to the output range [result,result+(last-first)) replacing elements equal to old_value with new_value .
Definition at line 858 of file stl_algo.h. |
|
Copy a sequence, replacing each value for which a predicate returns true with another value.
[first,last) to the range [result,result+(last-first)) replacing elements for which pred returns true with new_value .
Definition at line 891 of file stl_algo.h. |
|
Replace each value in a sequence for which a predicate returns true with another value.
i in the range [first,last) if pred(*i) is true then the assignment *i = new_value is performed.
Definition at line 827 of file stl_algo.h. |
|
The companion to get_temporary_buffer().
|
|
Reverse a sequence.
[first,last), so that the first element becomes the last etc. For every i such that 0<=i<= (last-first)/2), reverse() swaps * (first+i) and * (last-(i+1))
Definition at line 1351 of file stl_algo.h. |
|
Copy a sequence, reversing its elements.
[first,last) to the range [result,result+(last-first)) such that the order of the elements is reversed. For every i such that 0<=i<= (last-first), reverse_copy() performs the assignment * (result+(last-first)-i) = *(first+i). The ranges [first,last) and [result,result+(last-first)) must not overlap.
Definition at line 1376 of file stl_algo.h. |
|
Rotate the elements of a sequence.
[first,last) by (middle-first) positions so that the element at middle is moved to first , the element at middle+1 is moved to +1 and so on for each element in the range [first,last).
This effectively swaps the ranges
Performs Definition at line 1563 of file stl_algo.h. |
|
Copy a sequence, rotating its elements.
[first,last) to the range beginning at
* (result+(n+(last-middle))(last-first))=*(first+n) for each n in the range [0,last-first).
Definition at line 1591 of file stl_algo.h. References copy(). |
|
Search a sequence for a matching sub-sequence using a predicate.
[first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by [first2,last2), using predicate to determine equality, and returns an iterator to the first element of the sub-sequence, or last1 if no such iterator exists.
Definition at line 524 of file stl_algo.h. |
|
Search a sequence for a matching sub-sequence.
[first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by [first2,last2) and returns an iterator to the first element of the sub-sequence, or last1 if the sub-sequence is not found.
Because the sub-sequence must lie completely within the range Definition at line 452 of file stl_algo.h. References find(). |
|
Search a sequence for a number of consecutive values using a predicate.
[first,last) for count consecutive elements for which the predicate returns true.
Definition at line 646 of file stl_algo.h. |
|
Search a sequence for a number of consecutive values.
[first,last) for count consecutive elements equal to val .
Definition at line 598 of file stl_algo.h. References find(). |
|
Takes a replacement handler as the argument, returns the previous handler.
|
|
Takes a new handler function as an argument, returns the old function.
|
|
Takes a new handler function as an argument, returns the old function.
|
|
Sort the elements of a sequence using a predicate for comparison.
[first,last) in ascending order, such that comp (*(i+1),*i) is false for every iterator i in the range [first,last-1).
The relative ordering of equivalent elements is not preserved, use Definition at line 2200 of file stl_algo.h. |
|
Sort the elements of a sequence.
[first,last) in ascending order, such that * (i+1)<*i is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is not preserved, use Definition at line 2169 of file stl_algo.h. |
|
Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.
partition() with the additional guarantee that the relative ordering of elements in each group is preserved, so any two elements x and y in the range [first,last) such that pred(x)==pred (y) will have the same relative ordering after calling stable_partition() .
Definition at line 1850 of file stl_algo.h. |
|
Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.
[first,last) in ascending order, such that comp (*(i+1),*i) is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is preserved, so any two elements Definition at line 2469 of file stl_algo.h. |
|
Sort the elements of a sequence, preserving the relative order of equivalent elements.
[first,last) in ascending order, such that * (i+1)<*i is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is preserved, so any two elements Definition at line 2433 of file stl_algo.h. |
|
Swaps two values.
Definition at line 120 of file stl_algobase.h. |
|
Swap the elements of two sequences.
[first1,last1) with the corresponding element in the range [first2,(last1-first1)). The ranges must not overlap.
Definition at line 699 of file stl_algo.h. References iter_swap(). |
|
The runtime will call this function if exception handling must be abandoned for any reason. |
|
Perform an operation on corresponding elements of two sequences.
* (result+N)=binary_op(*(first1+N),*(first2+N)) for each N in the range [0,last1-first1).
Definition at line 768 of file stl_algo.h. |
|
Perform an operation on a sequence.
* (result+N)=unary_op(*(first+N)) for each N in the range [0,last-first).
Definition at line 734 of file stl_algo.h. |
|
[18.6.4]/1: "Returns true after completing evaluation of a throw-expression until either completing initialization of the exception-declaration in the matching handler or entering
2: "When |
|
The runtime will call this function if an exception is thrown which violates the function's exception specification. |
|
Copies the range [first,last) into result.
Definition at line 108 of file stl_uninitialized.h. |
|
Copies the value x into the range [first,last).
Definition at line 166 of file stl_uninitialized.h. |
|
Copies the value x into the range [first,first+n).
Definition at line 212 of file stl_uninitialized.h. |
|
Remove consecutive values from a sequence using a predicate.
binary_pred returns true. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and last are still present, but their value is unspecified.
Definition at line 1292 of file stl_algo.h. References adjacent_find(), and unique_copy(). |
|
Remove consecutive duplicate values from a sequence.
last are still present, but their value is unspecified.
Definition at line 1265 of file stl_algo.h. References adjacent_find(), and unique_copy(). |
|
Copy a sequence, removing consecutive values using a predicate.
[first,last) to the range beginning at result , except that only the first element is copied from groups of consecutive elements for which binary_pred returns true. unique_copy() is stable, so the relative order of elements that are copied is unchanged.
Definition at line 1234 of file stl_algo.h. |
|
Copy a sequence, removing consecutive duplicate values.
[first,last) to the range beginning at result , except that only the first element is copied from groups of consecutive elements that compare equal. unique_copy() is stable, so the relative order of elements that are copied is unchanged.
Definition at line 1147 of file stl_algo.h. Referenced by unique(). |