# std Namespace Reference

Everything defined by the ISO C++ Standard is within namespace std. More...

## Compounds

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...
struct | _List_iterator
| A list::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
| Turns assignment into insertion. More...
class | bad_alloc
| Exception possibly thrown by `new`. More...
class | bad_cast
| Thrown during incorrect typecasting. More...
class | bad_exception
class | bad_typeid
class | basic_filebuf
| The actual work of input and output (for files). More...
class | basic_fstream
| Controlling intput and output for files. More...
class | basic_ifstream
| Controlling input for files. More...
class | basic_ios
| Virtual base class for all stream classes. More...
class | basic_iostream
| Merging istream and ostream capabilities. More...
class | basic_istream
| Controlling input. More...
class | basic_istream::sentry
| Performs setup work for input streams. More...
class | basic_istringstream
| Controlling input for std::string. More...
class | basic_ofstream
| Controlling output for files. More...
class | basic_ostream
| Controlling output. More...
class | basic_ostream::sentry
| Performs setup work for output streams. More...
class | basic_ostringstream
| Controlling output for std::string. More...
class | basic_streambuf
| The actual work of input and output (interface). More...
class | basic_string
| Managing sequences of characters and character-like objects. More...
class | basic_stringbuf
| The actual work of input and output (for std::string). More...
class | basic_stringstream
| Controlling input and output for std::string. More...
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
| Basis for explicit traits specializations. More...
struct | char_traits< char >
| 21.1.3.1 char_traits specializations More...
struct | char_traits< wchar_t >
| 21.1.3.2 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
| A standard container using fixed-size memory allocation and constant-time manipulation of elements at either end. More...
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 | fpos
class | front_insert_iterator
| Turns assignment into insertion. More...
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
| Turns assignment into insertion. More...
class | invalid_argument
class | ios_base
| The very top of the I/O class hierarchy. More...
class | ios_base::failure
| These are thrown to indicate problems. Doc me. More...
struct | iterator
| Common iterator class. More...
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
| A standard container with linear time access to elements, and fixed time insertion/deletion at any point in the sequence. More...
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 (key,value) pairs, which can be retrieved based on a key, in logarithmic time. 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 (key,value) pairs, which can be retrieved based on a key, in logarithmic time. 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...
class | priority_queue
| A standard container automatically sorting its contents. More...
class | queue
| A standard container giving FIFO behavior. 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 | stack
| A standard container giving FILO behavior. More...
class | type_info
| Part of 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<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits > & | operator>> (basic_istream< _CharT, _Traits > &__in, _CharT &__c)
| Character extractors.
template<class _Traits> basic_istream< char, _Traits > & | operator>> (basic_istream< char, _Traits > &__in, unsigned char &__c)
| Character extractors.
template<class _Traits> basic_istream< char, _Traits > & | operator>> (basic_istream< char, _Traits > &__in, signed char &__c)
| Character extractors.

## [NOHEADER]

template<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits > & | operator>> (basic_istream< _CharT, _Traits > &__in, _CharT *__s)
| Character string extractors.
template<class _Traits> basic_istream< char, _Traits > & | operator>> (basic_istream< char, _Traits > &__in, unsigned char *__s)
| Character string extractors.
template<class _Traits> basic_istream< char, _Traits > & | operator>> (basic_istream< char, _Traits > &__in, signed char *__s)
| Character string extractors.

## [NOHEADER]

template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__out, _CharT __c)
| Character inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, char __c)
| Character inserters.
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__out, char __c)
| Character inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, signed char __c)
| Character inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, unsigned char __c)
| Character inserters.

## [NOHEADER]

template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__out, const _CharT *__s)
| String inserters.
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | operator<< (basic_ostream< _CharT, _Traits > &__out, const char *__s)
| String inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, const char *__s)
| String inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, const signed char *__s)
| String inserters.
template<class _Traits> basic_ostream< char, _Traits > & | operator<< (basic_ostream< char, _Traits > &__out, const unsigned char *__s)
| String inserters.

## [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.

## Standard Stream Objects

The <iostream> header declares the eight standard stream objects. For other declarations, see http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the I/O forward declarations They are required by default to cooperate with the global C library's `FILE` streams, and to be available during program startup and termination. For more information, see the HOWTO linked to above.
fake_istream | cin
| Linked to standard input.
fake_ostream | cout
| Linked to standard output.
fake_ostream | cerr
| Linked to standard error (unbuffered).
fake_ostream | clog
| Linked to standard error (buffered).
fake_wistream | wcin
| Linked to standard input.
fake_wostream | wcout
| Linked to standard output.
fake_wostream | wcerr
| Linked to standard error (unbuffered).
fake_wostream | wclog
| Linked to standard error (buffered).

## 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 )()
typedef fpos< mbstate_t > | streampos
| 27.2, paragraph 10 about fpos/char_traits circularity
typedef fpos< mbstate_t > | wstreampos
| 27.2, paragraph 10 about fpos/char_traits circularity
typedef basic_ios< char > | ios
| One of the I/O forward declarations .
typedef basic_streambuf< char > | streambuf
| One of the I/O forward declarations .
typedef basic_istream< char > | istream
| One of the I/O forward declarations .
typedef basic_ostream< char > | ostream
| One of the I/O forward declarations .
typedef basic_iostream< char > | iostream
| One of the I/O forward declarations .
typedef basic_stringbuf< char > | stringbuf
| One of the I/O forward declarations .
typedef basic_istringstream< char > | istringstream
| One of the I/O forward declarations .
typedef basic_ostringstream< char > | ostringstream
| One of the I/O forward declarations .
typedef basic_stringstream< char > | stringstream
| One of the I/O forward declarations .
typedef basic_filebuf< char > | filebuf
| One of the I/O forward declarations .
typedef basic_ifstream< char > | ifstream
| One of the I/O forward declarations .
typedef basic_ofstream< char > | ofstream
| One of the I/O forward declarations .
typedef basic_fstream< char > | fstream
| One of the I/O forward declarations .
typedef basic_ios< wchar_t > | wios
| One of the I/O forward declarations .
typedef basic_streambuf< wchar_t > | wstreambuf
| One of the I/O forward declarations .
typedef basic_istream< wchar_t > | wistream
| One of the I/O forward declarations .
typedef basic_ostream< wchar_t > | wostream
| One of the I/O forward declarations .
typedef basic_iostream< wchar_t > | wiostream
| One of the I/O forward declarations .
typedef basic_stringbuf< wchar_t > | wstringbuf
| One of the I/O forward declarations .
typedef basic_istringstream< wchar_t > | wistringstream
| One of the I/O forward declarations .
typedef basic_ostringstream< wchar_t > | wostringstream
| One of the I/O forward declarations .
typedef basic_stringstream< wchar_t > | wstringstream
| One of the I/O forward declarations .
typedef basic_filebuf< wchar_t > | wfilebuf
| One of the I/O forward declarations .
typedef basic_ifstream< wchar_t > | wifstream
| One of the I/O forward declarations .
typedef basic_ofstream< wchar_t > | wofstream
| One of the I/O forward declarations .
typedef basic_fstream< wchar_t > | wfstream
| One of the I/O forward declarations .

## 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.
ios_base & | boolalpha (ios_base &__base)
| Calls base.setf(ios_base::boolalpha).
ios_base & | noboolalpha (ios_base &__base)
| Calls base.unsetf(ios_base::boolalpha).
ios_base & | showbase (ios_base &__base)
| Calls base.setf(ios_base::showbase).
ios_base & | noshowbase (ios_base &__base)
| Calls base.unsetf(ios_base::showbase).
ios_base & | showpoint (ios_base &__base)
| Calls base.setf(ios_base::showpoint).
ios_base & | noshowpoint (ios_base &__base)
| Calls base.unsetf(ios_base::showpoint).
ios_base & | showpos (ios_base &__base)
| Calls base.setf(ios_base::showpos).
ios_base & | noshowpos (ios_base &__base)
| Calls base.unsetf(ios_base::showpos).
ios_base & | skipws (ios_base &__base)
| Calls base.setf(ios_base::skipws).
ios_base & | noskipws (ios_base &__base)
| Calls base.unsetf(ios_base::skipws).
ios_base & | uppercase (ios_base &__base)
| Calls base.setf(ios_base::uppercase).
ios_base & | nouppercase (ios_base &__base)
| Calls base.unsetf(ios_base::uppercase).
ios_base & | unitbuf (ios_base &__base)
| Calls base.setf(ios_base::unitbuf).
ios_base & | nounitbuf (ios_base &__base)
| Calls base.unsetf(ios_base::unitbuf).
ios_base & | internal (ios_base &__base)
| Calls base.setf(ios_base::internal, ios_base::adjustfield).
ios_base & | left (ios_base &__base)
| Calls base.setf(ios_base::left, ios_base::adjustfield).
ios_base & | right (ios_base &__base)
| Calls base.setf(ios_base::right, ios_base::adjustfield).
ios_base & | dec (ios_base &__base)
| Calls base.setf(ios_base::dec, ios_base::basefield).
ios_base & | hex (ios_base &__base)
| Calls base.setf(ios_base::hex, ios_base::basefield).
ios_base & | oct (ios_base &__base)
| Calls base.setf(ios_base::oct, ios_base::basefield).
ios_base & | fixed (ios_base &__base)
| Calls base.setf(ios_base::fixed, ios_base::floatfield).
ios_base & | scientific (ios_base &__base)
| Calls base.setf(ios_base::scientific, ios_base::floatfield).
template<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits > & | ws (basic_istream< _CharT, _Traits > &__in)
| Quick and easy way to eat whitespace.
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<typename _Tp, typename _Alloc> bool | operator== (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Deque equality comparison.
template<typename _Tp, typename _Alloc> bool | operator< (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Deque ordering relation.
template<typename _Tp, typename _Alloc> bool | operator!= (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Based on operator==.
template<typename _Tp, typename _Alloc> bool | operator> (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator<= (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator>= (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> void | swap (deque< _Tp, _Alloc > &__x, deque< _Tp, _Alloc > &__y)
| See std::deque::swap().
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<typename _Tp, typename _Alloc> bool | operator== (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| List equality comparison.
template<typename _Tp, typename _Alloc> bool | operator< (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| List ordering relation.
template<typename _Tp, typename _Alloc> bool | operator!= (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| Based on operator==.
template<typename _Tp, typename _Alloc> bool | operator> (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator<= (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator>= (const list< _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> void | swap (list< _Tp, _Alloc > &__x, list< _Tp, _Alloc > &__y)
| See std::list::swap().
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator== (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Map equality comparison.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator< (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Map ordering relation.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator!= (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator==.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator> (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator<= (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator>= (const map< _Key, _Tp, _Compare, _Alloc > &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> void | swap (map< _Key, _Tp, _Compare, _Alloc > &__x, map< _Key, _Tp, _Compare, _Alloc > &__y)
| See std::map::swap().
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator== (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Multimap equality comparison.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator< (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Multimap ordering relation.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator!= (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator==.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator> (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator<= (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> bool | operator>= (const multimap< _Key, _Tp, _Compare, _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| Based on operator<.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> void | swap (multimap< _Key, _Tp, _Compare, _Alloc > &__x, multimap< _Key, _Tp, _Compare, _Alloc > &__y)
| See std::multimap::swap().
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 _Tp, typename _Sequence> bool | operator== (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Queue equality comparison.
template<typename _Tp, typename _Sequence> bool | operator< (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Queue ordering relation.
template<typename _Tp, typename _Sequence> bool | operator!= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Based on operator==.
template<typename _Tp, typename _Sequence> bool | operator> (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Based on operator<.
template<typename _Tp, typename _Sequence> bool | operator<= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Based on operator<.
template<typename _Tp, typename _Sequence> bool | operator>= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
| Based on operator<.
template<typename _Tp, typename _Seq> bool | operator== (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Stack equality comparison.
template<typename _Tp, typename _Seq> bool | operator< (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Stack ordering relation.
template<typename _Tp, typename _Seq> bool | operator!= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Based on operator==.
template<typename _Tp, typename _Seq> bool | operator> (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Based on operator<.
template<typename _Tp, typename _Seq> bool | operator<= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Based on operator<.
template<typename _Tp, typename _Seq> bool | operator>= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
| Based on operator<.
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, typename _Alloc> bool | operator== (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Vector equality comparison.
template<typename _Tp, typename _Alloc> bool | operator< (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Vector ordering relation.
template<typename _Tp, typename _Alloc> bool | operator!= (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Based on operator==.
template<typename _Tp, typename _Alloc> bool | operator> (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator<= (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> bool | operator>= (const vector< _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
| Based on operator<.
template<typename _Tp, typename _Alloc> void | swap (vector< _Tp, _Alloc > &__x, vector< _Tp, _Alloc > &__y)
| See std::vector::swap().
_Resetiosflags | resetiosflags (ios_base::fmtflags __mask)
| Manipulator for `setf`.
_Setiosflags | setiosflags (ios_base::fmtflags __mask)
| Manipulator for `setf`.
_Setbase | setbase (int __base)
| Manipulator for `setf`.
template<typename _CharT> _Setfill< _CharT > | setfill (_CharT __c)
| Manipulator for `fill`.
_Setprecision | setprecision (int __n)
| Manipulator for `precision`.
_Setw | setw (int __n)
| Manipulator for `width`.
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().
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | endl (basic_ostream< _CharT, _Traits > &__os)
| Write a newline and flush the stream.
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | ends (basic_ostream< _CharT, _Traits > &__os)
| Write a null character into the output sequence.
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits > & | flush (basic_ostream< _CharT, _Traits > &__os)
| Flushes the output stream.

## Detailed Description

Everything defined by the ISO C++ Standard is within namespace std.

## Typedef Documentation

typedef void(* std::new_handler)()

| If you write your own error handler to be called by `new`, it must be of this type. Definition at line 66 of file new.

typedef fpos<mbstate_t> std::streampos

| 27.2, paragraph 10 about fpos/char_traits circularity Definition at line 120 of file fpos.h.

typedef void(* std::terminate_handler)()

| If you write a replacement terminate handler, it must be of this type. Definition at line 74 of file exception.

typedef void(* std::unexpected_handler)()

| If you write a replacement unexpected handler, it must be of this type. Definition at line 76 of file exception.

typedef fpos<mbstate_t> std::wstreampos

| 27.2, paragraph 10 about fpos/char_traits circularity Definition at line 123 of file fpos.h.

## Function Documentation

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  binary_pred | A binary predicate.

Returns:
  The first iterator `i` such that `i` and `i+1` are both valid iterators in ``[first,last) and such that `binary_pred`(*i,*(i+1)) is true, or `last` if no such iterator exists.

Definition at line 360 of file stl_algo.h.

template<typename _ForwardIter>
_ForwardIter adjacent_find | ( | _ForwardIter | __first,
|  | _ForwardIter | __last
| ) |

Find two adjacent values in a sequence that are equal.

Parameters:

  first | A forward iterator.
  last | A forward iterator.

Returns:
  The first iterator `i` such that `i` and `i+1` are both valid iterators in ``[first,last) and such that `*i` == `*`(i+1), or `last` if no such iterator exists.

Definition at line 331 of file stl_algo.h.

Referenced by unique().

template<typename _InputIterator, typename _Distance>
void advance | ( | _InputIterator & | __i,
|  | _Distance | __n
| ) | `[inline]`

A generalization of pointer arithmetic.

Parameters:

  i | An input iterator.
  n | The "delta" by which to change `i`.

Returns:
  Nothing.

This increments `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 `+` and `-` operations and are constant time. For other iterator classes they are linear time.

Definition at line 164 of file stl_iterator_base_funcs.h.

Referenced by equal_range(), lower_bound(), and upper_bound().

template<typename _Container>
back_insert_iterator<_Container> back_inserter | ( | _Container & | __x | ) | `[inline]`

Parameters:

  x | A container of arbitrary type.

Returns:
  An instance of back_insert_iterator working on `x`.

This wrapper function helps in creating back_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 388 of file stl_iterator.h.

ios_base& boolalpha | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::boolalpha). Definition at line 675 of file ios_base.h. References std::ios_base::setf().

template<typename _InputIter, typename _OutputIter>
_OutputIter copy | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _OutputIter | __result
| ) | `[inline]`

Copies the range [first,last) into result.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.

Returns:
  result + (first - last)

This inline function will boil down to a call to `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< _Tp, _Alloc >::erase(), std::deque< _Tp, _Alloc >::erase(), merge(), std::vector< _Tp, _Alloc >::operator=(), std::deque< _Tp, _Alloc >::operator=(), and rotate_copy().

template<typename _BI1, typename _BI2>
_BI2 copy_backward | ( | _BI1 | __first,
|  | _BI1 | __last,
|  | _BI2 | __result
| ) | `[inline]`

Copies the range [first,last) into result.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.

Returns:
  result - (first - last)

The function has the same effect as copy, but starts at the end of the range and works its way to the start, returning the start of the result. This inline function will boil down to a call to `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.

Referenced by std::deque< _Tp, _Alloc >::erase().

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  value | The value to be counted.

Returns:
  The number of iterators `i` in the range ``[first,last) for which `*i` == `value`

Definition at line 389 of file stl_algo.h.

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  pred | A predicate.

Returns:
  The number of iterators `i` in the range ``[first,last) for which `pred(*i)` is true.

Definition at line 413 of file stl_algo.h.

ios_base& dec | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::dec, ios_base::basefield). Definition at line 813 of file ios_base.h. References std::ios_base::setf().

template<typename _InputIterator>
iterator_traits<_InputIterator>::difference_type distance | ( | _InputIterator | __first,
|  | _InputIterator | __last
| ) | `[inline]`

A generalization of pointer arithmetic.

Parameters:

  first | An input iterator.
  last | An input iterator.

Returns:
  The distance between them.

Returns `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 `+` and `-` operations and are constant time. For other iterator classes they are linear time.

Definition at line 111 of file stl_iterator_base_funcs.h.

Referenced by equal_range(), inplace_merge(), lower_bound(), __gnu_cxx::random_sample_n(), and upper_bound().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& endl | ( | basic_ostream< _CharT, _Traits > & | __os | ) |

| Write a newline and flush the stream. This manipulator is often mistakenly used when a simple newline is desired, leading to poor buffering performance. See http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for more on this subject. Definition at line 505 of file ostream. References flush(), std::basic_ostream< _CharT, _Traits >::put(), and std::basic_ios< _CharT, _Traits >::widen().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& ends | ( | basic_ostream< _CharT, _Traits > & | __os | ) |

| Write a null character into the output sequence. "Null character" is `CharT()` by definition. For CharT of `char`, this correctly writes the ASCII `NUL` character string terminator. Definition at line 516 of file ostream. References std::basic_ostream< _CharT, _Traits >::put().

template<typename _InputIter1, typename _InputIter2, typename _BinaryPredicate>
bool equal | ( | _InputIter1 | __first1,
|  | _InputIter1 | __last1,
|  | _InputIter2 | __first2,
|  | _BinaryPredicate | __binary_pred
| ) | `[inline]`

Tests a range for element-wise equality.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.
  binary_pred | A binary predicate functor.

Returns:
  A boolean true or false.

This compares the elements of two ranges using the binary_pred parameter, and returns true or false depending on whether all of the corresponding elements of the ranges are equal.

Definition at line 701 of file stl_algobase.h.

template<typename _InputIter1, typename _InputIter2>
bool equal | ( | _InputIter1 | __first1,
|  | _InputIter1 | __last1,
|  | _InputIter2 | __first2
| ) | `[inline]`

Tests a range for element-wise equality.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.

Returns:
  A boolean true or false.

This compares the elements of two ranges using `==` 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.

Referenced by operator==().

template<typename _ForwardIter, typename _Tp>
void fill | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | const _Tp & | __value
| ) |

Fills the range [first,last) with copies of value.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  value | A reference-to-const of arbitrary type.

Returns:
  Nothing.

This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to `memset`.

Definition at line 511 of file stl_algobase.h.

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.

Parameters:

  first | An output iterator.
  n | The count of copies to perform.
  value | A reference-to-const of arbitrary type.

Returns:
  The iterator at first+n.

This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to `memset`.

Definition at line 533 of file stl_algobase.h.

template<typename _InputIter, typename _Tp>
_InputIter find | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | const _Tp & | __val
| ) | `[inline]`

Find the first occurrence of a value in a sequence.

Parameters:

  first | An input iterator.
  last | An input iterator.
  val | The value to find.

Returns:
  The first iterator `i` in the range ``[first,last) such that `*i` == `val`, or `last` if no such iterator exists.

Definition at line 291 of file stl_algo.h.

Referenced by remove(), search(), and search_n().

template<typename _InputIter, typename _Predicate>
_InputIter find_if | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _Predicate | __pred
| ) | `[inline]`

Find the first element in a sequence for which a predicate is true.

Parameters:

  first | An input iterator.
  last | An input iterator.
  pred | A predicate.

Returns:
  The first iterator `i` in the range ``[first,last) such that `pred(*i)` is true, or `last` if no such iterator exists.

Definition at line 311 of file stl_algo.h.

Referenced by remove_if().

ios_base& fixed | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::fixed, ios_base::floatfield). Definition at line 838 of file ios_base.h. References std::ios_base::setf().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& flush | ( | basic_ostream< _CharT, _Traits > & | __os | ) |

| Flushes the output stream. This manipulator simply calls the stream's `flush()` member function. Definition at line 526 of file ostream. References std::basic_ostream< _CharT, _Traits >::flush(). Referenced by endl().

template<typename _InputIter, typename _Function>
_Function for_each | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _Function | __f
| ) |

Apply a function to every element of a sequence.

Parameters:

  first | An input iterator.
  last | An input iterator.
  f | A unary function object.

Returns:
  `f`.

Applies the function object `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.

template<typename _Container>
front_insert_iterator<_Container> front_inserter | ( | _Container & | __x | ) | `[inline]`

Parameters:

  x | A container of arbitrary type.

Returns:
  An instance of front_insert_iterator working on `x`.

This wrapper function helps in creating front_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 459 of file stl_iterator.h.

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  gen | A function object taking no arguments.

Returns:
  generate() returns no value.

Performs the assignment `*i` = `gen()` for each `i` in the range ``[first,last).

Definition at line 920 of file stl_algo.h.

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.

Parameters:

  first | A forward iterator.
  n | The length of the sequence.
  gen | A function object taking no arguments.

Returns:
  The end of the sequence, `first+n`

Performs the assignment `*i` = `gen()` for each `i` in the range ``[first,first+n).

Definition at line 944 of file stl_algo.h.

template<typename _Tp>
pair<_Tp*,ptrdiff_t> get_temporary_buffer | ( | ptrdiff_t | __len | ) | `[inline]`

This is a mostly-useless wrapper around malloc().

Parameters:

  len | The number of objects of type Tp.

Returns:
  See full description.

Reinventing the wheel, but this time with prettier spokes!

This function tries to obtain storage for `len` adjacent Tp objects. The objects themselves are not constructed, of course. A pair<> is returned containing "the buffer s address and capacity (in the units of sizeof(Tp)), or a pair of 0 values if no storage can be obtained." Note that the capacity obtained may be less than that requested if the memory is unavailable; you should compare len with the .second return value.

Definition at line 105 of file memory.

ios_base& hex | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::hex, ios_base::basefield). Definition at line 821 of file ios_base.h. References std::ios_base::setf().

template<typename _BidirectionalIter, typename _Compare>
void inplace_merge | ( | _BidirectionalIter | __first,
|  | _BidirectionalIter | __middle,
|  | _BidirectionalIter | __last,
|  | _Compare | __comp
| ) |

Merges two sorted ranges in place.

Parameters:

  first | An iterator.
  middle | Another iterator.
  last | Another iterator.
  comp | A functor to use for comparisons.

Returns:
  Nothing.

Merges two sorted and consecutive ranges, [first,middle) and [middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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().

template<typename _BidirectionalIter>
void inplace_merge | ( | _BidirectionalIter | __first,
|  | _BidirectionalIter | __middle,
|  | _BidirectionalIter | __last
| ) |

Merges two sorted ranges in place.

Parameters:

  first | An iterator.
  middle | Another iterator.
  last | Another iterator.

Returns:
  Nothing.

Merges two sorted and consecutive ranges, [first,middle) and [middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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().

template<typename _Container, typename _Iterator>
insert_iterator<_Container> inserter | ( | _Container & | __x,
|  | _Iterator | __i
| ) | `[inline]`

Parameters:

  x | A container of arbitrary type.

Returns:
  An instance of insert_iterator working on `x`.

This wrapper function helps in creating insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 552 of file stl_iterator.h.

ios_base& internal | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::internal, ios_base::adjustfield). Definition at line 788 of file ios_base.h. References std::ios_base::setf().

template<typename _ForwardIter1, typename _ForwardIter2>
void iter_swap | ( | _ForwardIter1 | __a,
|  | _ForwardIter2 | __b
| ) | `[inline]`

Swaps the contents of two iterators.

Parameters:

  a | An iterator.
  b | Another iterator.

Returns:
  Nothing.

This function swaps the values pointed to by two iterators, not the iterators themselves.

Definition at line 93 of file stl_algobase.h.

Referenced by random_shuffle(), and swap_ranges().

ios_base& left | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::left, ios_base::adjustfield). Definition at line 796 of file ios_base.h. References std::ios_base::setf().

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.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.
  last2 | An input iterator.
  comp | A comparison functor.

Returns:
  A boolean true or false.

The same as the four-parameter `lexigraphical_compare`, but uses the comp parameter instead of `<`.

Definition at line 769 of file stl_algobase.h.

template<typename _InputIter1, typename _InputIter2>
bool lexicographical_compare | ( | _InputIter1 | __first1,
|  | _InputIter1 | __last1,
|  | _InputIter2 | __first2,
|  | _InputIter2 | __last2
| ) |

Performs "dictionary" comparison on ranges.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.
  last2 | An input iterator.

Returns:
  A boolean true or false.

"Returns true if the sequence of elements defined by the range [first1,last1) is lexicographically less than the sequence of elements defined by the range [first2,last2). Returns false otherwise." (Quoted from [25.3.8]/1.) If the iterators are all character pointers, then this is an inline call to `memcmp`.

Definition at line 734 of file stl_algobase.h.

Referenced by operator<().

template<class _T1, class _T2>
pair<_T1, _T2> make_pair | ( | const _T1 & | __x,
|  | const _T2 & | __y
| ) | `[inline]`

A convenience wrapper for creating a pair from two objects.

Parameters:

  x | The first object.
  y | The second object.

Returns:
  A newly-constructed pair<> object of the appropriate type.

The standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default.

Definition at line 145 of file stl_pair.h.

template<typename _Tp, typename _Compare>
const _Tp& max | ( | const _Tp & | __a,
|  | const _Tp & | __b,
|  | _Compare | __comp
| ) | `[inline]`

This does what you think it does.

Parameters:

  a | A thing of arbitrary type.
  b | Another thing of arbitrary type.
  comp | A comparison functor.

Returns:
  The greater of the parameters.

This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 206 of file stl_algobase.h.

template<typename _Tp>
const _Tp& max | ( | const _Tp & | __a,
|  | const _Tp & | __b
| ) | `[inline]`

This does what you think it does.

Parameters:

  a | A thing of arbitrary type.
  b | Another thing of arbitrary type.

Returns:
  The greater of the parameters.

This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 168 of file stl_algobase.h.

Referenced by std::basic_istream< _CharT, _Traits >::ignore(), std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_stringbuf< _CharT, _Traits, _Alloc >::str().

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.

Parameters:

  first1 | An iterator.
  first2 | Another iterator.
  last1 | Another iterator.
  last2 | Another iterator.
  result | An iterator pointing to the end of the merged range.
  comp | A functor to use for comparisons.

Returns:
  An iterator pointing to the first element "not less than" val.

Merges the ranges [first1,last1) and [first2,last2) into the sorted range [result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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().

template<typename _InputIter1, typename _InputIter2, typename _OutputIter>
_OutputIter merge | ( | _InputIter1 | __first1,
|  | _InputIter1 | __last1,
|  | _InputIter2 | __first2,
|  | _InputIter2 | __last2,
|  | _OutputIter | __result
| ) |

Merges two sorted ranges.

Parameters:

  first1 | An iterator.
  first2 | Another iterator.
  last1 | Another iterator.
  last2 | Another iterator.
  result | An iterator pointing to the end of the merged range.

Returns:
  An iterator pointing to the first element "not less than" val.

Merges the ranges [first1,last1) and [first2,last2) into the sorted range [result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

Definition at line 3118 of file stl_algo.h.

References copy().

template<typename _Tp, typename _Compare>
const _Tp& min | ( | const _Tp & | __a,
|  | const _Tp & | __b,
|  | _Compare | __comp
| ) | `[inline]`

This does what you think it does.

Parameters:

  a | A thing of arbitrary type.
  b | Another thing of arbitrary type.
  comp | A comparison functor.

Returns:
  The lesser of the parameters.

This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 188 of file stl_algobase.h.

template<typename _Tp>
const _Tp& min | ( | const _Tp & | __a,
|  | const _Tp & | __b
| ) | `[inline]`

This does what you think it does.

Parameters:

  a | A thing of arbitrary type.
  b | Another thing of arbitrary type.

Returns:
  The lesser of the parameters.

This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 148 of file stl_algobase.h.

Referenced by std::basic_istream< _CharT, _Traits >::ignore(), __gnu_cxx::random_sample_n(), std::basic_istream< _CharT, _Traits >::readsome(), std::basic_streambuf< _CharT, _Traits >::xsgetn(), and std::basic_streambuf< _CharT, _Traits >::xsputn().

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.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.
  binary_pred | A binary predicate functor.

Returns:
  A pair of iterators pointing to the first mismatch.

This compares the elements of two ranges using the binary_pred parameter, 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 642 of file stl_algobase.h.

template<typename _InputIter1, typename _InputIter2>
pair<_InputIter1, _InputIter2> mismatch | ( | _InputIter1 | __first1,
|  | _InputIter1 | __last1,
|  | _InputIter2 | __first2
| ) |

Finds the places in ranges which don't match.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.

Returns:
  A pair of iterators pointing to the first mismatch.

This compares the elements of two ranges using `==` 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.

ios_base& noboolalpha | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::boolalpha). Definition at line 683 of file ios_base.h. References std::ios_base::unsetf().

ios_base& noshowbase | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::showbase). Definition at line 699 of file ios_base.h. References std::ios_base::unsetf().

ios_base& noshowpoint | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::showpoint). Definition at line 715 of file ios_base.h. References std::ios_base::unsetf().

ios_base& noshowpos | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::showpos). Definition at line 731 of file ios_base.h. References std::ios_base::unsetf().

ios_base& noskipws | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::skipws). Definition at line 747 of file ios_base.h. References std::ios_base::unsetf().

ios_base& nounitbuf | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::unitbuf). Definition at line 779 of file ios_base.h. References std::ios_base::unsetf().

ios_base& nouppercase | ( | ios_base & | __base | ) | `[inline]`

| Calls base.unsetf(ios_base::uppercase). Definition at line 763 of file ios_base.h. References std::ios_base::unsetf().

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.

Parameters:

  first | An iterator.
  nth | Another iterator.
  last | Another iterator.
  comp | A comparison functor.

Returns:
  Nothing.

Rearranges the elements in the range ``[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().

template<typename _RandomAccessIter>
void nth_element | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __nth,
|  | _RandomAccessIter | __last
| ) |

Sort a sequence just enough to find a particular position.

Parameters:

  first | An iterator.
  nth | Another iterator.
  last | Another iterator.

Returns:
  Nothing.

Rearranges the elements in the range ``[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().

ios_base& oct | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::oct, ios_base::basefield). Definition at line 829 of file ios_base.h. References std::ios_base::setf().

template<size_t _Nb>
bitset<_Nb> operator & | ( | const bitset< _Nb > & | __x,
|  | const bitset< _Nb > & | __y
| ) | `[inline]`

Global bitwise operations on bitsets.

Parameters:

  x | A bitset.
  y | A bitset of the same size as x.

Returns:
  A new bitset.

These should be self-explanatory.

Definition at line 1153 of file bitset.

template<typename _Tp, typename _Alloc>
bool operator!= | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 964 of file stl_vector.h.

template<typename _Tp, typename _Seq>
bool operator!= | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 228 of file stl_stack.h.

template<typename _Tp, typename _Sequence>
bool operator!= | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 247 of file stl_queue.h.

template<class _T1, class _T2>
bool operator!= | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| Uses `operator==` to find the result. Definition at line 108 of file stl_pair.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator!= | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 603 of file stl_multimap.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator!= | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 629 of file stl_map.h.

template<typename _Tp, typename _Alloc>
bool operator!= | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 1137 of file stl_list.h.

template<typename _Iterator>
bool operator!= | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 283 of file stl_iterator.h.

template<typename _Tp, typename _Alloc>
bool operator!= | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator==. Definition at line 1567 of file stl_deque.h.

template<typename _Alloc>
bool operator!= | ( | const __debug_alloc< _Alloc > & | ,
|  | const __debug_alloc< _Alloc > & |
| ) | `[inline]`

| 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 841 of file stl_alloc.h.

template<int __inst>
bool operator!= | ( | const __malloc_alloc_template< __inst > & | ,
|  | const __malloc_alloc_template< __inst > & |
| ) | `[inline]`

| 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 830 of file stl_alloc.h.

template<typename _Iterator>
reverse_iterator<_Iterator> operator+ | ( | typename reverse_iterator< _Iterator >::difference_type | __n,
|  | const reverse_iterator< _Iterator > & | __x
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 313 of file stl_iterator.h.

References std::reverse_iterator< _Iterator >::base().

template<typename _Iterator>
reverse_iterator<_Iterator>::difference_type operator- | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 307 of file stl_iterator.h.

References std::reverse_iterator< _Iterator >::base().

template<typename _Tp, typename _Alloc>
bool operator< | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

Vector ordering relation.

Parameters:

  x | A vector.
  y | A vector of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is a total ordering relation. It is linear in the size of the vectors. The elements must be comparable with `<`.

See std::lexographical_compare() for how the determination is made.

Definition at line 955 of file stl_vector.h.

References lexicographical_compare().

template<typename _Tp, typename _Seq>
bool std::operator< | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

Stack ordering relation.

Parameters:

  x | A stack.
  y | A stack of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with `<`, and std::lexographical_compare() is usually used to make the determination.

Definition at line 222 of file stl_stack.h.

template<typename _Tp, typename _Sequence>
bool operator< | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

Queue ordering relation.

Parameters:

  x | A queue.
  y | A queue of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with `<`, and std::lexographical_compare() is usually used to make the determination.

Definition at line 241 of file stl_queue.h.

template<class _T1, class _T2>
bool operator< | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| <http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt> Definition at line 100 of file stl_pair.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator< | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

Multimap ordering relation.

Parameters:

  x | A multimap.
  y | A multimap of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is a total ordering relation. It is linear in the size of the multimaps. The elements must be comparable with `<`.

See std::lexographical_compare() for how the determination is made.

Definition at line 596 of file stl_multimap.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator< | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

Map ordering relation.

Parameters:

  x | A map.
  y | A map of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is a total ordering relation. It is linear in the size of the maps. The elements must be comparable with `<`.

See std::lexographical_compare() for how the determination is made.

Definition at line 622 of file stl_map.h.

template<typename _Tp, typename _Alloc>
bool operator< | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

List ordering relation.

Parameters:

  x | A list.
  y | A list of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is a total ordering relation. It is linear in the size of the lists. The elements must be comparable with `<`.

See std::lexographical_compare() for how the determination is made.

Definition at line 1128 of file stl_list.h.

References lexicographical_compare().

template<typename _Iterator>
bool operator< | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 277 of file stl_iterator.h.

template<typename _Tp, typename _Alloc>
bool operator< | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

Deque ordering relation.

Parameters:

  x | A deque.
  y | A deque of the same type as x.

Returns:
  True iff x is lexographically less than y.

This is a total ordering relation. It is linear in the size of the deques. The elements must be comparable with `<`.

See std::lexographical_compare() for how the determination is made.

Definition at line 1558 of file stl_deque.h.

template<class _Traits>
basic_ostream<char, _Traits>& operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | const unsigned char * | __s
| ) |

String inserters.

Parameters:

  out | An output stream.
  s | A character string.

Returns:
  out

Precondition:
  s must be a non-NULL pointer

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts `traits::length(s)` characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

Definition at line 490 of file ostream.

template<class _Traits>
basic_ostream<char, _Traits>& operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | const signed char * | __s
| ) |

String inserters.

Parameters:

  out | An output stream.
  s | A character string.

Returns:
  out

Precondition:
  s must be a non-NULL pointer

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts `traits::length(s)` characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

Definition at line 485 of file ostream.

template<class _Traits>
basic_ostream<char, _Traits>& operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | unsigned char | __c
| ) |

Character inserters.

Parameters:

  out | An output stream.
  c | A character.

Returns:
  out

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

If c is of type `char` and the character type of the stream is not `char`, the character is widened before insertion.

Definition at line 451 of file ostream.

template<class _Traits>
basic_ostream<char, _Traits>& operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | signed char | __c
| ) |

Character inserters.

Parameters:

  out | An output stream.
  c | A character.

Returns:
  out

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

If c is of type `char` and the character type of the stream is not `char`, the character is widened before insertion.

Definition at line 446 of file ostream.

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& operator<< | ( | basic_ostream< _CharT, _Traits > & | __out,
|  | char | __c
| ) |

Character inserters.

Parameters:

  out | An output stream.
  c | A character.

Returns:
  out

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

If c is of type `char` and the character type of the stream is not `char`, the character is widened before insertion.

Definition at line 435 of file ostream.

References std::basic_ios< _CharT, _Traits >::widen().

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. 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 1241 of file bitset.

template<class _Traits>
basic_ostream< char, _Traits > & std::operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | const char * | __s
| ) |

String inserters.

Parameters:

  out | An output stream.
  s | A character string.

Returns:
  out

Precondition:
  s must be a non-NULL pointer

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts `traits::length(s)` characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

Definition at line 629 of file ostream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_ios< _CharT, _Traits >::fill(), std::basic_ios< _CharT, _Traits >::setstate(), std::ios_base::width(), and std::basic_ostream< _CharT, _Traits >::write().

template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & std::operator<< | ( | basic_ostream< _CharT, _Traits > & | __out,
|  | const char * | __s
| ) |

String inserters.

Parameters:

  out | An output stream.
  s | A character string.

Returns:
  out

Precondition:
  s must be a non-NULL pointer

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts `traits::length(s)` characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

Definition at line 579 of file ostream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_ios< _CharT, _Traits >::fill(), std::basic_ios< _CharT, _Traits >::setstate(), std::basic_ios< _CharT, _Traits >::widen(), std::ios_base::width(), and std::basic_ostream< _CharT, _Traits >::write().

template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & std::operator<< | ( | basic_ostream< _CharT, _Traits > & | __out,
|  | const _CharT * | __s
| ) |

String inserters.

Parameters:

  out | An output stream.
  s | A character string.

Returns:
  out

Precondition:
  s must be a non-NULL pointer

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts `traits::length(s)` characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

Definition at line 542 of file ostream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_ios< _CharT, _Traits >::fill(), std::basic_ios< _CharT, _Traits >::setstate(), std::ios_base::width(), and std::basic_ostream< _CharT, _Traits >::write().

template<class _Traits>
basic_ostream< char, _Traits > & std::operator<< | ( | basic_ostream< char, _Traits > & | __out,
|  | char | __c
| ) |

Character inserters.

Parameters:

  out | An output stream.
  c | A character.

Returns:
  out

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

If c is of type `char` and the character type of the stream is not `char`, the character is widened before insertion.

Definition at line 507 of file ostream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_ios< _CharT, _Traits >::fill(), std::ios_base::width(), and std::basic_ostream< _CharT, _Traits >::write().

template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & std::operator<< | ( | basic_ostream< _CharT, _Traits > & | __out,
|  | _CharT | __c
| ) |

Character inserters.

Parameters:

  out | An output stream.
  c | A character.

Returns:
  out

Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). `out.width(0)` is then called.

If c is of type `char` and the character type of the stream is not `char`, the character is widened before insertion.

Definition at line 471 of file ostream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_ios< _CharT, _Traits >::fill(), std::ios_base::width(), and std::basic_ostream< _CharT, _Traits >::write().

template<typename _Tp, typename _Alloc>
bool operator<= | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 976 of file stl_vector.h.

template<typename _Tp, typename _Seq>
bool operator<= | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 240 of file stl_stack.h.

template<typename _Tp, typename _Sequence>
bool operator<= | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 259 of file stl_queue.h.

template<class _T1, class _T2>
bool operator<= | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| Uses `operator<` to find the result. Definition at line 120 of file stl_pair.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator<= | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 617 of file stl_multimap.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator<= | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 643 of file stl_map.h.

template<typename _Tp, typename _Alloc>
bool operator<= | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1149 of file stl_list.h.

template<typename _Iterator>
bool operator<= | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 295 of file stl_iterator.h.

template<typename _Tp, typename _Alloc>
bool operator<= | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1581 of file stl_deque.h.

template<typename _Tp, typename _Alloc>
bool operator== | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

Vector equality comparison.

Parameters:

  x | A vector.
  y | A vector of the same type as x.

Returns:
  True iff the size and elements of the vectors are equal.

This is an equivalence relation. It is linear in the size of the vectors. Vectors are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 936 of file stl_vector.h.

References std::vector< _Tp, _Alloc >::begin(), std::vector< _Tp, _Alloc >::end(), equal(), and std::vector< _Tp, _Alloc >::size().

template<typename _Tp, typename _Seq>
bool std::operator== | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

Stack equality comparison.

Parameters:

  x | A stack.
  y | A stack of the same type as x.

Returns:
  True iff the size and elements of the stacks are equal.

This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and stacks are considered equivalent if their sequences compare equal.

Definition at line 205 of file stl_stack.h.

References std::stack< _Tp, _Sequence >::c.

template<typename _Tp, typename _Sequence>
bool operator== | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

Queue equality comparison.

Parameters:

  x | A queue.
  y | A queue of the same type as x.

Returns:
  True iff the size and elements of the queues are equal.

This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and queues are considered equivalent if their sequences compare equal.

Definition at line 224 of file stl_queue.h.

References std::queue< _Tp, _Sequence >::c.

template<class _T1, class _T2>
bool operator== | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| 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.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator== | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

Multimap equality comparison.

Parameters:

  x | A multimap.
  y | A multimap of the same type as x.

Returns:
  True iff the size and elements of the maps are equal.

This is an equivalence relation. It is linear in the size of the multimaps. Multimaps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 577 of file stl_multimap.h.

References std::multimap< _Key, _Tp, _Compare, _Alloc >::_M_t.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator== | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

Map equality comparison.

Parameters:

  x | A map.
  y | A map of the same type as x.

Returns:
  True iff the size and elements of the maps are equal.

This is an equivalence relation. It is linear in the size of the maps. Maps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 605 of file stl_map.h.

References std::map< _Key, _Tp, _Compare, _Alloc >::_M_t.

template<typename _Tp, typename _Alloc>
bool operator== | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

List equality comparison.

Parameters:

  x | A list.
  y | A list of the same type as x.

Returns:
  True iff the size and elements of the lists are equal.

This is an equivalence relation. It is linear in the size of the lists. Lists are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1100 of file stl_list.h.

References std::list< _Tp, _Alloc >::begin(), and std::list< _Tp, _Alloc >::end().

template<typename _Iterator>
bool operator== | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 271 of file stl_iterator.h.

References std::reverse_iterator< _Iterator >::base().

template<typename _Tp, typename _Alloc>
bool operator== | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

Deque equality comparison.

Parameters:

  x | A deque.
  y | A deque of the same type as x.

Returns:
  True iff the size and elements of the deques are equal.

This is an equivalence relation. It is linear in the size of the deques. Deques are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1539 of file stl_deque.h.

template<typename _Alloc>
bool operator== | ( | const __debug_alloc< _Alloc > & | ,
|  | const __debug_alloc< _Alloc > & |
| ) | `[inline]`

| 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.

template<int inst>
bool operator== | ( | const __malloc_alloc_template< inst > & | ,
|  | const __malloc_alloc_template< inst > & |
| ) | `[inline]`

| 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 824 of file stl_alloc.h.

template<typename _Tp, typename _Alloc>
bool operator> | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 970 of file stl_vector.h.

template<typename _Tp, typename _Seq>
bool operator> | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 234 of file stl_stack.h.

template<typename _Tp, typename _Sequence>
bool operator> | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 253 of file stl_queue.h.

template<class _T1, class _T2>
bool operator> | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| Uses `operator<` to find the result. Definition at line 114 of file stl_pair.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator> | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 610 of file stl_multimap.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator> | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 636 of file stl_map.h.

template<typename _Tp, typename _Alloc>
bool operator> | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1143 of file stl_list.h.

template<typename _Iterator>
bool operator> | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 289 of file stl_iterator.h.

template<typename _Tp, typename _Alloc>
bool operator> | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1574 of file stl_deque.h.

template<typename _Tp, typename _Alloc>
bool operator>= | ( | const vector< _Tp, _Alloc > & | __x,
|  | const vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 982 of file stl_vector.h.

template<typename _Tp, typename _Seq>
bool operator>= | ( | const stack< _Tp, _Seq > & | __x,
|  | const stack< _Tp, _Seq > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 246 of file stl_stack.h.

template<typename _Tp, typename _Sequence>
bool operator>= | ( | const queue< _Tp, _Sequence > & | __x,
|  | const queue< _Tp, _Sequence > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 265 of file stl_queue.h.

template<class _T1, class _T2>
bool operator>= | ( | const pair< _T1, _T2 > & | __x,
|  | const pair< _T1, _T2 > & | __y
| ) | `[inline]`

| Uses `operator<` to find the result. Definition at line 126 of file stl_pair.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator>= | ( | const multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 624 of file stl_multimap.h.

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool operator>= | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | const map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 650 of file stl_map.h.

template<typename _Tp, typename _Alloc>
bool operator>= | ( | const list< _Tp, _Alloc > & | __x,
|  | const list< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1155 of file stl_list.h.

template<typename _Iterator>
bool operator>= | ( | const reverse_iterator< _Iterator > & | __x,
|  | const reverse_iterator< _Iterator > & | __y
| ) | `[inline]`

Parameters:

  x | A reverse_iterator.
  y | A reverse_iterator.

Returns:
  A simple bool.

Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 301 of file stl_iterator.h.

template<typename _Tp, typename _Alloc>
bool operator>= | ( | const deque< _Tp, _Alloc > & | __x,
|  | const deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

| Based on operator<. Definition at line 1588 of file stl_deque.h.

template<class _Traits>
basic_istream<char,_Traits>& operator>> | ( | basic_istream< char, _Traits > & | __in,
|  | signed char * | __s
| ) |

Character string extractors.

Parameters:

  in | An input stream.
  s | A pointer to a character array.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to `n` characters and stores them into the array starting at s. `n` is defined as:

- if `width()` is greater than zero, `n` is width()
- otherwise `n` is "the number of elements of the largest array of `char_type` that can store a terminating `eos`." [27.6.1.2.3]/6

Characters are extracted and stored until one of the following happens:

- `n-1` characters are stored
- EOF is reached
- the next character is whitespace according to the current locale
- the next character is a null byte (i.e., `charT()` )

`width(0)` is then called for the input stream.

If no characters are extracted, sets failbit.

Definition at line 689 of file istream.

template<class _Traits>
basic_istream<char,_Traits>& operator>> | ( | basic_istream< char, _Traits > & | __in,
|  | unsigned char * | __s
| ) |

Character string extractors.

Parameters:

  in | An input stream.
  s | A pointer to a character array.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to `n` characters and stores them into the array starting at s. `n` is defined as:

- if `width()` is greater than zero, `n` is width()
- otherwise `n` is "the number of elements of the largest array of `char_type` that can store a terminating `eos`." [27.6.1.2.3]/6

Characters are extracted and stored until one of the following happens:

- `n-1` characters are stored
- EOF is reached
- the next character is whitespace according to the current locale
- the next character is a null byte (i.e., `charT()` )

`width(0)` is then called for the input stream.

If no characters are extracted, sets failbit.

Definition at line 684 of file istream.

template<class _Traits>
basic_istream<char, _Traits>& operator>> | ( | basic_istream< char, _Traits > & | __in,
|  | signed char & | __c
| ) |

Character extractors.

Parameters:

  in | An input stream.
  c | A character reference.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in c. Otherwise, sets failbit in the input stream.

Definition at line 648 of file istream.

template<class _Traits>
basic_istream<char, _Traits>& operator>> | ( | basic_istream< char, _Traits > & | __in,
|  | unsigned char & | __c
| ) |

Character extractors.

Parameters:

  in | An input stream.
  c | A character reference.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in c. Otherwise, sets failbit in the input stream.

Definition at line 643 of file istream.

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.

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 1190 of file bitset.

References std::bitset< _Nb >::_M_copy_from_string(), std::basic_string< _CharT, _Traits, _Alloc >::empty(), std::basic_ios< _CharT, _Traits >::narrow(), std::basic_string< _CharT, _Traits, _Alloc >::push_back(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_string< _CharT, _Traits, _Alloc >::reserve(), std::basic_streambuf< _CharT, _Traits >::sbumpc(), std::basic_ios< _CharT, _Traits >::setstate(), and std::basic_streambuf< _CharT, _Traits >::sputbackc().

template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & std::operator>> | ( | basic_istream< _CharT, _Traits > & | __in,
|  | _CharT * | __s
| ) |

Character string extractors.

Parameters:

  in | An input stream.
  s | A pointer to a character array.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to `n` characters and stores them into the array starting at s. `n` is defined as:

- if `width()` is greater than zero, `n` is width()
- otherwise `n` is "the number of elements of the largest array of `char_type` that can store a terminating `eos`." [27.6.1.2.3]/6

Characters are extracted and stored until one of the following happens:

- `n-1` characters are stored
- EOF is reached
- the next character is whitespace according to the current locale
- the next character is a null byte (i.e., `charT()` )

`width(0)` is then called for the input stream.

If no characters are extracted, sets failbit.

Definition at line 1021 of file istream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::ios_base::getloc(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), and std::ios_base::width().

template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & std::operator>> | ( | basic_istream< _CharT, _Traits > & | __in,
|  | _CharT & | __c
| ) |

Character extractors.

Parameters:

  in | An input stream.
  c | A character reference.

Returns:
  in

Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in c. Otherwise, sets failbit in the input stream.

Definition at line 997 of file istream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_ios< _CharT, _Traits >::exceptions(), std::basic_istream< _CharT, _Traits >::get(), and std::basic_ios< _CharT, _Traits >::setstate().

template<size_t _Nb>
bitset<_Nb> operator^ | ( | const bitset< _Nb > & | __x,
|  | const bitset< _Nb > & | __y
| ) | `[inline]`

Global bitwise operations on bitsets.

Parameters:

  x | A bitset.
  y | A bitset of the same size as x.

Returns:
  A new bitset.

These should be self-explanatory.

Definition at line 1171 of file bitset.

template<size_t _Nb>
bitset<_Nb> operator| | ( | const bitset< _Nb > & | __x,
|  | const bitset< _Nb > & | __y
| ) | `[inline]`

Global bitwise operations on bitsets.

Parameters:

  x | A bitset.
  y | A bitset of the same size as x.

Returns:
  A new bitset.

These should be self-explanatory.

Definition at line 1162 of file bitset.

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.

Parameters:

  first | An iterator.
  middle | Another iterator.
  last | Another iterator.
  comp | A comparison functor.

Returns:
  Nothing.

Sorts the smallest ``(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.

template<typename _RandomAccessIter>
void partial_sort | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __middle,
|  | _RandomAccessIter | __last
| ) |

Sort the smallest elements of a sequence.

Parameters:

  first | An iterator.
  middle | Another iterator.
  last | Another iterator.

Returns:
  Nothing.

Sorts the smallest ``(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.

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.

Parameters:

  first | An input iterator.
  last | Another input iterator.
  result_first | A random-access iterator.
  result_last | Another random-access iterator.
  comp | A comparison functor.

Returns:
  An iterator indicating the end of the resulting sequence.

Copies and sorts the smallest N values from the range ``[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.

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.

Parameters:

  first | An iterator.
  last | Another iterator.
  result_first | A random-access iterator.
  result_last | Another random-access iterator.

Returns:
  An iterator indicating the end of the resulting sequence.

Copies and sorts the smallest N values from the range ``[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.

template<typename _ForwardIter, typename _Predicate>
_ForwardIter partition | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | _Predicate | __pred
| ) | `[inline]`

Move elements for which a predicate is true to the beginning of a sequence.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  pred | A predicate functor.

Returns:
  An iterator `middle` such that `pred(i)` is true for each iterator `i` in the range ``[first,middle) and false for each `i` in the range ``[middle,last).

`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.

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  rand | The RNG functor or function.

Returns:
  Nothing.

Reorders the elements in the range ``[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().

template<typename _RandomAccessIter>
void random_shuffle | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __last
| ) | `[inline]`

Randomly shuffle the elements of a sequence.

Parameters:

  first | A forward iterator.
  last | A forward iterator.

Returns:
  Nothing.

Reorder the elements in the range ``[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().

template<typename _ForwardIter, typename _Tp>
_ForwardIter remove | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | const _Tp & | __value
| ) |

Remove elements from a sequence.

Parameters:

  first | An input iterator.
  last | An input iterator.
  value | The value to be removed.

Returns:
  An iterator designating the end of the resulting sequence.

All elements equal to `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 `last` are still present, but their value is unspecified.

Definition at line 1041 of file stl_algo.h.

References find(), and remove_copy().

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  value | The value to be removed.

Returns:
  An iterator designating the end of the resulting sequence.

Copies each element in the range ``[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().

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  pred | A predicate.

Returns:
  An iterator designating the end of the resulting sequence.

Copies each element in the range ``[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().

template<typename _ForwardIter, typename _Predicate>
_ForwardIter remove_if | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | _Predicate | __pred
| ) |

Remove elements from a sequence using a predicate.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  pred | A predicate.

Returns:
  An iterator designating the end of the resulting sequence.

All elements for which `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 `last` are still present, but their value is unspecified.

Definition at line 1075 of file stl_algo.h.

References find_if(), and remove_copy_if().

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  old_value | The value to be replaced.
  new_value | The replacement value.

Returns:
  replace() returns no value.

For each iterator `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.

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  old_value | The value to be replaced.
  new_value | The replacement value.

Returns:
  The end of the output sequence, `result+`(last-first).

Copies each element in the input range ``[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.

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.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  pred | A predicate.
  new_value | The replacement value.

Returns:
  The end of the output sequence, `result+`(last-first).

Copies each element in the range ``[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.

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  pred | A predicate.
  new_value | The replacement value.

Returns:
  replace_if() returns no value.

For each iterator `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.

_Resetiosflags resetiosflags | ( | ios_base::fmtflags | __mask | ) | `[inline]`

Manipulator for `setf`.

Parameters:

  mask | A format flags mask.

Sent to a stream object, this manipulator resets the specified flags, via stream.setf(0,mask).

Definition at line 64 of file iomanip.

template<typename _Tp>
void return_temporary_buffer | ( | _Tp * | __p | ) |

The companion to get_temporary_buffer().

Parameters:

  p | A buffer previously allocated by get_temporary_buffer.

Returns:
  None.

Frees the memory pointed to by p.

Definition at line 117 of file memory.

template<typename _BidirectionalIter>
void reverse | ( | _BidirectionalIter | __first,
|  | _BidirectionalIter | __last
| ) | `[inline]`

Reverse a sequence.

Parameters:

  first | A bidirectional iterator.
  last | A bidirectional iterator.

Returns:
  reverse() returns no value.

Reverses the order of the elements in the range ``[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.

template<typename _BidirectionalIter, typename _OutputIter>
_OutputIter reverse_copy | ( | _BidirectionalIter | __first,
|  | _BidirectionalIter | __last,
|  | _OutputIter | __result
| ) |

Copy a sequence, reversing its elements.

Parameters:

  first | A bidirectional iterator.
  last | A bidirectional iterator.
  result | An output iterator.

Returns:
  An iterator designating the end of the resulting sequence.

Copies the elements in the range ``[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.

ios_base& right | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::right, ios_base::adjustfield). Definition at line 804 of file ios_base.h. References std::ios_base::setf().

template<typename _ForwardIter>
void rotate | ( | _ForwardIter | __first,
|  | _ForwardIter | __middle,
|  | _ForwardIter | __last
| ) | `[inline]`

Rotate the elements of a sequence.

Parameters:

  first | A forward iterator.
  middle | A forward iterator.
  last | A forward iterator.

Returns:
  Nothing.

Rotates the elements of the range ``[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 ``[first,middle) and ``[middle,last).

Performs `*`(first+(n+(last-middle))(last-first))=*(first+n) for each `n` in the range ``[0,last-first).

Definition at line 1563 of file stl_algo.h.

template<typename _ForwardIter, typename _OutputIter>
_OutputIter rotate_copy | ( | _ForwardIter | __first,
|  | _ForwardIter | __middle,
|  | _ForwardIter | __last,
|  | _OutputIter | __result
| ) |

Copy a sequence, rotating its elements.

Parameters:

  first | A forward iterator.
  middle | A forward iterator.
  last | A forward iterator.
  result | An output iterator.

Returns:
  An iterator designating the end of the resulting sequence.

Copies the elements of the range ``[first,last) to the range beginning at

Returns:
  , rotating the copied elements by ``(middle-first) positions so that the element at `middle` is moved to `result`, the element at `middle+1` is moved to

  +1 and so on for each element in the range ``[first,last).

Performs `*`(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().

ios_base& scientific | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::scientific, ios_base::floatfield). Definition at line 846 of file ios_base.h. References std::ios_base::setf().

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.

Parameters:

  first1 | A forward iterator.
  last1 | A forward iterator.
  first2 | A forward iterator.
  last2 | A forward iterator.
  predicate | A binary predicate.

Returns:
  The first iterator `i` in the range ``[first1,last1-(last2-first2)) such that `predicate`(*(i+N),*(first2+N)) is true for each `N` in the range ``[0,last2-first2), or `last1` if no such iterator exists.

Searches the range ``[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.

See also:
  search(_ForwardIter1, _ForwardIter1, _ForwardIter2, _ForwardIter2)

Definition at line 524 of file stl_algo.h.

template<typename _ForwardIter1, typename _ForwardIter2>
_ForwardIter1 search | ( | _ForwardIter1 | __first1,
|  | _ForwardIter1 | __last1,
|  | _ForwardIter2 | __first2,
|  | _ForwardIter2 | __last2
| ) |

Search a sequence for a matching sub-sequence.

Parameters:

  first1 | A forward iterator.
  last1 | A forward iterator.
  first2 | A forward iterator.
  last2 | A forward iterator.

Returns:
  The first iterator `i` in the range ``[first1,last1-(last2-first2)) such that `*`(i+N) == `*`(first2+N) for each `N` in the range ``[0,last2-first2), or `last1` if no such iterator exists.

Searches the range ``[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 ``[first1,last1) it must start at a position less than `last1-`(last2-first2) where `last2-first2` is the length of the sub-sequence. This means that the returned iterator `i` will be in the range ``[first1,last1-(last2-first2))

Definition at line 452 of file stl_algo.h.

References find().

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  count | The number of consecutive values.
  val | The value to find.
  binary_pred | A binary predicate.

Returns:
  The first iterator `i` in the range ``[first,last-count) such that `binary_pred`(*(i+N),val) is true for each `N` in the range ``[0,count), or `last` if no such iterator exists.

Searches the range ``[first,last) for `count` consecutive elements for which the predicate returns true.

Definition at line 646 of file stl_algo.h.

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  count | The number of consecutive values.
  val | The value to find.

Returns:
  The first iterator `i` in the range ``[first,last-count) such that `*`(i+N) == `val` for each `N` in the range ``[0,count), or `last` if no such iterator exists.

Searches the range ``[first,last) for `count` consecutive elements equal to `val`.

Definition at line 598 of file stl_algo.h.

References find().

new_handler set_new_handler | ( | new_handler |  | ) | throw ()

| Takes a replacement handler as the argument, returns the previous handler.

terminate_handler set_terminate | ( | terminate_handler |  | ) | throw ()

| Takes a new handler function as an argument, returns the old function.

unexpected_handler set_unexpected | ( | unexpected_handler |  | ) | throw ()

| Takes a new handler function as an argument, returns the old function.

_Setbase setbase | ( | int | __base | ) | `[inline]`

Manipulator for `setf`.

Parameters:

  base | A numeric base.

Sent to a stream object, this manipulator changes the `ios_base::basefield` flags to `oct`, `dec`, or `hex` when base is 8, 10, or 16, accordingly, and to 0 if base is any other value.

Definition at line 133 of file iomanip.

template<typename _CharT>
_Setfill<_CharT> setfill | ( | _CharT | __c | ) | `[inline]`

Manipulator for `fill`.

Parameters:

  c | The new fill character.

Sent to a stream object, this manipulator calls `fill(c)` for that object.

Definition at line 175 of file iomanip.

_Setiosflags setiosflags | ( | ios_base::fmtflags | __mask | ) | `[inline]`

Manipulator for `setf`.

Parameters:

  mask | A format flags mask.

Sent to a stream object, this manipulator sets the format flags to mask.

Definition at line 98 of file iomanip.

_Setprecision setprecision | ( | int | __n | ) | `[inline]`

Manipulator for `precision`.

Parameters:

  n | The new precision.

Sent to a stream object, this manipulator calls `precision(n)` for that object.

Definition at line 209 of file iomanip.

_Setw setw | ( | int | __n | ) | `[inline]`

Manipulator for `width`.

Parameters:

  n | The new width.

Sent to a stream object, this manipulator calls `width(n)` for that object.

Definition at line 243 of file iomanip.

ios_base& showbase | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::showbase). Definition at line 691 of file ios_base.h. References std::ios_base::setf().

ios_base& showpoint | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::showpoint). Definition at line 707 of file ios_base.h. References std::ios_base::setf().

ios_base& showpos | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::showpos). Definition at line 723 of file ios_base.h. References std::ios_base::setf().

ios_base& skipws | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::skipws). Definition at line 739 of file ios_base.h. References std::ios_base::setf().

template<typename _RandomAccessIter, typename _Compare>
void sort | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __last,
|  | _Compare | __comp
| ) | `[inline]`

Sort the elements of a sequence using a predicate for comparison.

Parameters:

  first | An iterator.
  last | Another iterator.
  comp | A comparison functor.

Returns:
  Nothing.

Sorts the elements in the range ``[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 `stable_sort()` if this is needed.

Definition at line 2200 of file stl_algo.h.

template<typename _RandomAccessIter>
void sort | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __last
| ) | `[inline]`

Sort the elements of a sequence.

Parameters:

  first | An iterator.
  last | Another iterator.

Returns:
  Nothing.

Sorts the elements in the range ``[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 `stable_sort()` if this is needed.

Definition at line 2169 of file stl_algo.h.

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.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  pred | A predicate functor.

Returns:
  An iterator `middle` such that `pred(i)` is true for each iterator `i` in the range ``[first,middle) and false for each `i` in the range ``[middle,last).

Performs the same function as `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.

template<typename _RandomAccessIter, typename _Compare>
void stable_sort | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __last,
|  | _Compare | __comp
| ) | `[inline]`

Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.

Parameters:

  first | An iterator.
  last | Another iterator.
  comp | A comparison functor.

Returns:
  Nothing.

Sorts the elements in the range ``[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 `x` and `y` in the range ``[first,last) such that `comp(x,y)` is false and `comp(y,x)` is false will have the same relative ordering after calling `stable_sort()`.

Definition at line 2469 of file stl_algo.h.

template<typename _RandomAccessIter>
void stable_sort | ( | _RandomAccessIter | __first,
|  | _RandomAccessIter | __last
| ) | `[inline]`

Sort the elements of a sequence, preserving the relative order of equivalent elements.

Parameters:

  first | An iterator.
  last | Another iterator.

Returns:
  Nothing.

Sorts the elements in the range ``[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 `x` and `y` in the range ``[first,last) such that `x<y` is false and `y<x` is false will have the same relative ordering after calling `stable_sort()`.

Definition at line 2433 of file stl_algo.h.

template<typename _Tp, typename _Alloc>
void swap | ( | vector< _Tp, _Alloc > & | __x,
|  | vector< _Tp, _Alloc > & | __y
| ) | `[inline]`

| See std::vector::swap(). Definition at line 988 of file stl_vector.h. References std::vector< _Tp, _Alloc >::swap().

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
void swap | ( | multimap< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | multimap< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| See std::multimap::swap(). Definition at line 631 of file stl_multimap.h. References std::multimap< _Key, _Tp, _Compare, _Alloc >::swap().

template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
void swap | ( | map< _Key, _Tp, _Compare, _Alloc > & | __x,
|  | map< _Key, _Tp, _Compare, _Alloc > & | __y
| ) | `[inline]`

| See std::map::swap(). Definition at line 657 of file stl_map.h. References std::map< _Key, _Tp, _Compare, _Alloc >::swap().

template<typename _Tp, typename _Alloc>
void swap | ( | list< _Tp, _Alloc > & | __x,
|  | list< _Tp, _Alloc > & | __y
| ) | `[inline]`

| See std::list::swap(). Definition at line 1161 of file stl_list.h. References std::list< _Tp, _Alloc >::swap().

template<typename _Tp, typename _Alloc>
void swap | ( | deque< _Tp, _Alloc > & | __x,
|  | deque< _Tp, _Alloc > & | __y
| ) | `[inline]`

| See std::deque::swap(). Definition at line 1595 of file stl_deque.h.

template<typename _Tp>
void swap | ( | _Tp & | __a,
|  | _Tp & | __b
| ) | `[inline]`

Swaps two values.

Parameters:

  a | A thing of arbitrary type.
  b | Another thing of arbitrary type.

Returns:
  Nothing.

This is the simple classic generic implementation. It will work on any type which has a copy constructor and an assignment operator.

Definition at line 120 of file stl_algobase.h.

Referenced by std::vector< _Node *, _Alloc >::swap(), and std::list< _Tp, _Alloc >::swap().

template<typename _ForwardIter1, typename _ForwardIter2>
_ForwardIter2 swap_ranges | ( | _ForwardIter1 | __first1,
|  | _ForwardIter1 | __last1,
|  | _ForwardIter2 | __first2
| ) |

Swap the elements of two sequences.

Parameters:

  first1 | A forward iterator.
  last1 | A forward iterator.
  first2 | A forward iterator.

Returns:
  An iterator equal to `first2+`(last1-first1).

Swaps each element in the range ``[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().

void terminate | ( |  | ) |

| The runtime will call this function if exception handling must be abandoned for any reason.

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.

Parameters:

  first1 | An input iterator.
  last1 | An input iterator.
  first2 | An input iterator.
  result | An output iterator.
  binary_op | A binary operator.

Returns:
  An output iterator equal to `result+`(last-first).

Applies the operator to the corresponding elements in the two input ranges and assigns the results to successive elements of the output sequence. Evaluates `*`(result+N)=binary_op(*(first1+N),*(first2+N)) for each `N` in the range ``[0,last1-first1).

`binary_op` must not alter either of its arguments.

Definition at line 768 of file stl_algo.h.

template<typename _InputIter, typename _OutputIter, typename _UnaryOperation>
_OutputIter transform | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _OutputIter | __result,
|  | _UnaryOperation | __unary_op
| ) |

Perform an operation on a sequence.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  unary_op | A unary operator.

Returns:
  An output iterator equal to `result+`(last-first).

Applies the operator to each element in the input range and assigns the results to successive elements of the output sequence. Evaluates `*`(result+N)=unary_op(*(first+N)) for each `N` in the range ``[0,last-first).

`unary_op` must not alter its argument.

Definition at line 734 of file stl_algo.h.

bool uncaught_exception | ( |  | ) | throw ()

[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 `unexpected()` due to the throw; or after entering `terminate()` for any reason other than an explicit call to `terminate()`. [Note: This includes stack unwinding [15.2]. end note]"

2: "When `uncaught_exception()` is true, throwing an exception can result in a call of `terminate()` (15.5.1)."

Referenced by std::basic_ostream< _CharT, _Traits >::sentry::~sentry().

void unexpected | ( |  | ) |

| The runtime will call this function if an exception is thrown which violates the function's exception specification.

template<typename _InputIter, typename _ForwardIter>
_ForwardIter uninitialized_copy | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _ForwardIter | __result
| ) | `[inline]`

Copies the range [first,last) into result.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.

Returns:
  result + (first - last)

Like copy(), but does not require an initialized output range.

Definition at line 108 of file stl_uninitialized.h.

Referenced by std::vector< _Tp, _Alloc >::operator=(), and std::vector< _Node *, _Alloc >::vector().

template<typename _ForwardIter, typename _Tp>
void uninitialized_fill | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | const _Tp & | __x
| ) | `[inline]`

Copies the value x into the range [first,last).

Parameters:

  first | An input iterator.
  last | An input iterator.
  x | The source value.

Returns:
  Nothing.

Like fill(), but does not require an initialized output range.

Definition at line 166 of file stl_uninitialized.h.

template<typename _ForwardIter, typename _Size, typename _Tp>
_ForwardIter uninitialized_fill_n | ( | _ForwardIter | __first,
|  | _Size | __n,
|  | const _Tp & | __x
| ) | `[inline]`

Copies the value x into the range [first,first+n).

Parameters:

  first | An input iterator.
  n | The number of copies to make.
  x | The source value.

Returns:
  first+n

Like fill_n(), but does not require an initialized output range.

Definition at line 212 of file stl_uninitialized.h.

Referenced by std::vector< _Node *, _Alloc >::vector().

template<typename _ForwardIter, typename _BinaryPredicate>
_ForwardIter unique | ( | _ForwardIter | __first,
|  | _ForwardIter | __last,
|  | _BinaryPredicate | __binary_pred
| ) |

Remove consecutive values from a sequence using a predicate.

Parameters:

  first | A forward iterator.
  last | A forward iterator.
  binary_pred | A binary predicate.

Returns:
  An iterator designating the end of the resulting sequence.

Removes all but the first element from each group of consecutive values for which `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().

template<typename _ForwardIter>
_ForwardIter unique | ( | _ForwardIter | __first,
|  | _ForwardIter | __last
| ) |

Remove consecutive duplicate values from a sequence.

Parameters:

  first | A forward iterator.
  last | A forward iterator.

Returns:
  An iterator designating the end of the resulting sequence.

Removes all but the first element from each group of consecutive values that compare equal. 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 1265 of file stl_algo.h.

References adjacent_find(), and unique_copy().

template<typename _InputIter, typename _OutputIter, typename _BinaryPredicate>
_OutputIter unique_copy | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _OutputIter | __result,
|  | _BinaryPredicate | __binary_pred
| ) | `[inline]`

Copy a sequence, removing consecutive values using a predicate.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.
  binary_pred | A binary predicate.

Returns:
  An iterator designating the end of the resulting sequence.

Copies each element in the range ``[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.

template<typename _InputIter, typename _OutputIter>
_OutputIter unique_copy | ( | _InputIter | __first,
|  | _InputIter | __last,
|  | _OutputIter | __result
| ) | `[inline]`

Copy a sequence, removing consecutive duplicate values.

Parameters:

  first | An input iterator.
  last | An input iterator.
  result | An output iterator.

Returns:
  An iterator designating the end of the resulting sequence.

Copies each element in the range ``[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().

ios_base& unitbuf | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::unitbuf). Definition at line 771 of file ios_base.h. References std::ios_base::setf().

ios_base& uppercase | ( | ios_base & | __base | ) | `[inline]`

| Calls base.setf(ios_base::uppercase). Definition at line 755 of file ios_base.h. References std::ios_base::setf().

template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & std::ws | ( | basic_istream< _CharT, _Traits > & | __is | ) |

Quick and easy way to eat whitespace.

This manipulator extracts whitespace characters, stopping when the next character is non-whitespace, or when the input sequence is empty. If the sequence is empty, `eofbit` is set in the stream, but not `failbit`.

The current locale is used to distinguish whitespace characters.

Example:

         MyClass   mc;

         std::cin >> std::ws >> mc;

will skip leading whitespace before calling operator>> on cin and your object. Note that the same effect can be achieved by creating a std::basic_istream::sentry inside your definition of operator>>.

Definition at line 1079 of file istream.tcc.

References std::ios_base::getloc(), std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

## Variable Documentation

ostream std::cerr

| Linked to standard error (unbuffered). Definition at line 305 of file globals.cc.

istream std::cin

| Linked to standard input. Definition at line 303 of file globals.cc.

ostream std::clog

| Linked to standard error (buffered). Definition at line 306 of file globals.cc.

ostream std::cout

| Linked to standard output. Definition at line 304 of file globals.cc.

wostream std::wcerr

| Linked to standard error (unbuffered). Definition at line 315 of file globals.cc.

wistream std::wcin

| Linked to standard input. Definition at line 313 of file globals.cc.

wostream std::wclog

| Linked to standard error (buffered). Definition at line 316 of file globals.cc.

wostream std::wcout

| Linked to standard output. Definition at line 314 of file globals.cc.