# std Namespace Reference

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

## Classes

class | std::exception
| Base class for all library exceptions. More...
class | std::bad_exception
class | std::bad_alloc
| Exception possibly thrown by `new`. More...
class | std::type_info
| Part of RTTI. More...
class | std::bad_cast
| Thrown during incorrect typecasting. More...
class | std::bad_typeid
class | std::allocator< Type >
| The "standard" allocator, as per [20.4]. More...
class | std::basic_ios< CharT, Traits >
| Virtual base class for all stream classes. More...
class | std::basic_string< CharT, Traits, Alloc >
| Managing sequences of characters and character-like objects. More...
struct | std::char_traits< CharT >
| Basis for explicit traits specializations. More...
struct | std::char_traits< char >
| 21.1.3.1 char_traits specializations More...
class | std::gslice
| Class defining multi-dimensional subset of an array. More...
class | std::gslice_array< Type >
| Reference to multi-dimensional subset of an array. More...
class | std::indirect_array< Type >
| Reference to arbitrary subset of an array. More...
class | std::ios_base
| The very top of the I/O class hierarchy. More...
class | std::ios_base::failure
| These are thrown to indicate problems. Doc me. More...
class | std::locale
| Container class for localization functionality. More...
class | std::locale::facet
| Localization functionality base class. More...
class | std::locale::id
| Facet ID class. More...
class | std::ctype_abstract_base< CharT >
| Common base for ctype facet. More...
class | std::ctype< CharT >
| Template ctype facet. More...
class | std::ctype< char >
| The ctype<char> specialization. More...
class | std::numpunct< CharT >
| Numpunct facet. More...
class | std::num_get< CharT, InIter >
| Facet for parsing number strings. More...
class | std::num_put< CharT, OutIter >
| Facet for converting numbers to strings. More...
class | std::collate< CharT >
| Facet for localized string comparison. More...
class | std::time_base
| Time format ordering data. More...
class | std::time_get< CharT, InIter >
| Facet for parsing dates and times. More...
class | std::time_put< CharT, OutIter >
| Facet for outputting dates and times. More...
class | std::money_base
| Money format ordering data. More...
class | std::moneypunct< CharT, Intl >
| Facet for formatting data for money amounts. More...
class | std::money_get< CharT, InIter >
| Facet for parsing monetary amounts. More...
class | std::money_put< CharT, OutIter >
| Facet for outputting monetary amounts. More...
struct | std::messages_base
| Messages facet base class providing catalog typedef. More...
class | std::messages< CharT >
| Facet for handling message catalogs. More...
class | std::mask_array< Type >
| Reference to selected subset of an array. More...
class | std::fpos< StateT >
| Class representing stream positions. More...
class | std::slice
| Class defining one-dimensional subset of an array. More...
class | std::slice_array< Type >
| Reference to one-dimensional subset of an array. More...
class | std::vector< bool, Alloc >
| A specialization of vector for booleans which offers fixed time access to individual elements in any order. More...
struct | std::Deque_iterator< Type, Ref, Ptr >
| A deque::iterator. More...
class | std::deque< Type, Alloc >
| A standard container using fixed-size memory allocation and constant-time manipulation of elements at either end. More...
struct | std::unary_function< Arg, Result >
struct | std::binary_function< Arg1, Arg2, Result >
struct | std::plus< Type >
| One of the math functors. More...
struct | std::minus< Type >
| One of the math functors. More...
struct | std::multiplies< Type >
| One of the math functors. More...
struct | std::divides< Type >
| One of the math functors. More...
struct | std::modulus< Type >
| One of the math functors. More...
struct | std::negate< Type >
| One of the math functors. More...
struct | std::equal_to< Type >
| One of the comparison functors. More...
struct | std::not_equal_to< Type >
| One of the comparison functors. More...
struct | std::greater< Type >
| One of the comparison functors. More...
struct | std::less< Type >
| One of the comparison functors. More...
struct | std::greater_equal< Type >
| One of the comparison functors. More...
struct | std::less_equal< Type >
| One of the comparison functors. More...
struct | std::logical_and< Type >
| One of the Boolean operations functors. More...
struct | std::logical_or< Type >
| One of the Boolean operations functors. More...
struct | std::logical_not< Type >
| One of the Boolean operations functors. More...
class | std::unary_negate< Predicate >
| One of the negation functors. More...
class | std::binary_negate< Predicate >
| One of the negation functors. More...
class | std::binder1st< Operation >
| One of the binder functors. More...
class | std::binder2nd< Operation >
| One of the binder functors. More...
class | std::pointer_to_unary_function< Arg, Result >
| One of the adaptors for function pointers. More...
class | std::pointer_to_binary_function< Arg1, Arg2, Result >
| One of the adaptors for function pointers. More...
class | std::mem_fun_t< Ret, Type >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun_t< Ret, Type >
| One of the adaptors for member pointers. More...
class | std::mem_fun_ref_t< Ret, Type >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun_ref_t< Ret, Type >
| One of the adaptors for member pointers. More...
class | std::mem_fun1_t< Ret, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun1_t< Ret, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::mem_fun1_ref_t< Ret, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun1_ref_t< Ret, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::mem_fun_t< void, Type >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun_t< void, Type >
| One of the adaptors for member pointers. More...
class | std::mem_fun_ref_t< void, Type >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun_ref_t< void, Type >
| One of the adaptors for member pointers. More...
class | std::mem_fun1_t< void, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun1_t< void, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::mem_fun1_ref_t< void, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::const_mem_fun1_ref_t< void, Type, Arg >
| One of the adaptors for member pointers. More...
class | std::reverse_iterator< Iterator >
class | std::back_insert_iterator< Container >
| Turns assignment into insertion. More...
class | std::front_insert_iterator< Container >
| Turns assignment into insertion. More...
class | std::insert_iterator< Container >
| Turns assignment into insertion. More...
struct | std::input_iterator_tag
| Marking input iterators. More...
struct | std::output_iterator_tag
| Marking output iterators. More...
struct | std::forward_iterator_tag
| Forward iterators support a superset of input iterator operations. More...
struct | std::bidirectional_iterator_tag
| Bidirectional iterators support a superset of forward iterator operations. More...
struct | std::random_access_iterator_tag
| Random-access iterators support a superset of bidirectional iterator operations. More...
struct | std::iterator< Category, Type, Distance, Pointer, Reference >
| Common iterator class. More...
struct | std::iterator_traits< Iterator >
struct | std::List_iterator< Type >
| A list::iterator. More...
struct | std::List_const_iterator< Type >
| A list::const_iterator. More...
class | std::list< Type, Alloc >
| A standard container with linear time access to elements, and fixed time insertion/deletion at any point in the sequence. More...
class | std::map< Key, Type, Compare, Alloc >
| A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time. More...
class | std::multimap< Key, Type, Compare, Alloc >
| A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time. More...
class | std::multiset< Key, Compare, Alloc >
| A standard container made up of elements, which can be retrieved in logarithmic time. More...
struct | std::pair< T1, T2 >
| pair holds two objects of arbitrary type. More...
class | std::queue< Type, Sequence >
| A standard container giving FIFO behavior. More...
class | std::priority_queue< Type, Sequence, Compare >
| A standard container automatically sorting its contents. More...
class | std::raw_storage_iterator< ForwardIterator, Type >
class | std::set< Key, Compare, Alloc >
| A standard container made up of unique keys, which can be retrieved in logarithmic time. More...
class | std::stack< Type, Sequence >
| A standard container giving FILO behavior. More...
class | std::vector< Type, Alloc >
| A standard container which offers fixed time access to individual elements in any order. More...
class | std::istream_iterator< Type, CharT, Traits, Dist >
| Provides input iterator semantics for streams. More...
class | std::ostream_iterator< Type, CharT, Traits >
| Provides output iterator semantics for streams. More...
class | std::istreambuf_iterator< CharT, Traits >
| Provides input iterator semantics for streambufs. More...
class | std::ostreambuf_iterator< CharT, Traits >
| Provides output iterator semantics for streambufs. More...
class | std::bitset< Nb >
| The bitset class represents a fixed-size sequence of bits. More...
class | std::bitset< Nb >::reference
struct | std::complex< Type >
class | std::basic_filebuf< CharT, Traits >
| The actual work of input and output (for files). More...
class | std::basic_ifstream< CharT, Traits >
| Controlling input for files. More...
class | std::basic_ofstream< CharT, Traits >
| Controlling output for files. More...
class | std::basic_fstream< CharT, Traits >
| Controlling intput and output for files. More...
class | std::basic_istream< CharT, Traits >
| Controlling input. More...
class | std::basic_istream< CharT, Traits >::sentry
| Performs setup work for input streams. More...
class | std::basic_iostream< CharT, Traits >
| Merging istream and ostream capabilities. More...
struct | std::numeric_limits_base
| Part of std::numeric_limits. More...
struct | std::numeric_limits< Type >
| Properties of fundamental types. More...
struct | std::auto_ptr_ref< Type1 >
class | std::auto_ptr< Type >
| A simple smart pointer providing strict ownership semantics. More...
class | std::basic_ostream< CharT, Traits >
| Controlling output. More...
class | std::basic_ostream< CharT, Traits >::sentry
| Performs setup work for output streams. More...
class | std::basic_stringbuf< CharT, Traits, Alloc >
| The actual work of input and output (for std::string). More...
class | std::basic_istringstream< CharT, Traits, Alloc >
| Controlling input for std::string. More...
class | std::basic_ostringstream< CharT, Traits, Alloc >
| Controlling output for std::string. More...
class | std::basic_stringstream< CharT, Traits, Alloc >
| Controlling input and output for std::string. More...
class | std::logic_error
| One of two subclasses of exception. More...
class | std::domain_error
class | std::invalid_argument
class | std::length_error
class | std::out_of_range
class | std::runtime_error
| One of two subclasses of exception. More...
class | std::range_error
class | std::overflow_error
class | std::underflow_error
class | std::basic_streambuf< CharT, Traits >
| The actual work of input and output (interface). More...
class | std::valarray< Type >
| Smart array designed to support numeric processing. 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> bool | isspace (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isprint (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | iscntrl (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isupper (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | islower (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isalpha (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isdigit (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | ispunct (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isxdigit (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isalnum (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> bool | isgraph (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> CharT | toupper (CharT c, const locale &__loc)
| Convenience interface to ctype.is().
template<typename CharT> CharT | tolower (CharT c, const locale &__loc)
| Convenience interface to ctype.is().

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

## [NOHEADER]

template<typename Type> complex< Type > | operator+ (const complex< Type > &x, const complex< Type > &y)
| Return new complex value x plus y.
template<typename Type> complex< Type > | operator+ (const complex< Type > &x, const Type &y)
| Return new complex value x plus y.
template<typename Type> complex< Type > | operator+ (const Type &x, const complex< Type > &y)
| Return new complex value x plus y.

## [NOHEADER]

template<typename Type> complex< Type > | operator- (const complex< Type > &x, const complex< Type > &y)
| Return new complex value x minus y.
template<typename Type> complex< Type > | operator- (const complex< Type > &x, const Type &y)
| Return new complex value x minus y.
template<typename Type> complex< Type > | operator- (const Type &x, const complex< Type > &y)
| Return new complex value x minus y.

## [NOHEADER]

template<typename Type> complex< Type > | operator * (const complex< Type > &x, const complex< Type > &y)
| Return new complex value x times y.
template<typename Type> complex< Type > | operator * (const complex< Type > &x, const Type &y)
| Return new complex value x times y.
template<typename Type> complex< Type > | operator * (const Type &x, const complex< Type > &y)
| Return new complex value x times y.

## [NOHEADER]

template<typename Type> complex< Type > | operator/ (const complex< Type > &x, const complex< Type > &y)
| Return new complex value x divided by y.
template<typename Type> complex< Type > | operator/ (const complex< Type > &x, const Type &y)
| Return new complex value x divided by y.
template<typename Type> complex< Type > | operator/ (const Type &x, const complex< Type > &y)
| Return new complex value x divided by y.

## [NOHEADER]

template<typename Type> bool | operator== (const complex< Type > &x, const complex< Type > &y)
| Return true if x is equal to y.
template<typename Type> bool | operator== (const complex< Type > &x, const Type &y)
| Return true if x is equal to y.
template<typename Type> bool | operator== (const Type &x, const complex< Type > &y)
| Return true if x is equal to y.

## [NOHEADER]

template<typename Type> bool | operator!= (const complex< Type > &x, const complex< Type > &y)
| Return false if x is equal to y.
template<typename Type> bool | operator!= (const complex< Type > &x, const Type &y)
| Return false if x is equal to y.
template<typename Type> bool | operator!= (const Type &x, const complex< Type > &y)
| Return false if x is equal to y.

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

## 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 long long | streamoff
| Type used by fpos, char_traits<char>, and char_traits<wchar_t>.
typedef ptrdiff_t | streamsize
| Integral type for I/O operation counts and buffer sizes.
typedef fpos< mbstate_t > | streampos
| File position for char streams.
typedef fpos< mbstate_t > | wstreampos
| File position for wchar_t streams.
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 .

## Enumerations

enum | float_round_style { round_indeterminate, round_toward_zero, round_to_nearest, round_toward_infinity, round_toward_neg_infinity }
| Describes the rounding style for floating-point types. More...
enum | float_denorm_style { denorm_indeterminate, denorm_absent, denorm_present }
| Describes the denormalization for floating-point types. More...

## Functions

terminate_handler | set_terminate (terminate_handler) throw ()
| Takes a new handler function as an argument, returns the old function.
void | terminate () attribute__((noreturn__))
unexpected_handler | set_unexpected (unexpected_handler) throw ()
| Takes a new handler function as an argument, returns the old function.
void | unexpected () attribute__((noreturn__))
bool | uncaught_exception () throw ()
new_handler | set_new_handler (new_handler) throw ()
| Takes a replacement handler as the argument, returns the previous handler.
template<typename CharT, typename Traits, typename Alloc> basic_string< CharT, Traits, Alloc > | operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Concatenate two strings.
template<typename CharT, typename Traits, typename Alloc> basic_string< CharT, Traits, Alloc > | operator+ (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Concatenate C string and string.
template<typename CharT, typename Traits, typename Alloc> basic_string< CharT, Traits, Alloc > | operator+ (CharT __lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Concatenate character and string.
template<typename CharT, typename Traits, typename Alloc> basic_string< CharT, Traits, Alloc > | operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Concatenate string and C string.
template<typename CharT, typename Traits, typename Alloc> basic_string< CharT, Traits, Alloc > | operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, CharT __rhs)
| Concatenate string and character.
template<typename CharT, typename Traits, typename Alloc> bool | operator== (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test equivalence of two strings.
template<typename CharT, typename Traits, typename Alloc> bool | operator== (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test equivalence of C string and string.
template<typename CharT, typename Traits, typename Alloc> bool | operator== (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test equivalence of string and C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator!= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test difference of two strings.
template<typename CharT, typename Traits, typename Alloc> bool | operator!= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test difference of C string and string.
template<typename CharT, typename Traits, typename Alloc> bool | operator!= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test difference of string and C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator< (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if string precedes string.
template<typename CharT, typename Traits, typename Alloc> bool | operator< (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test if string precedes C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator< (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if C string precedes string.
template<typename CharT, typename Traits, typename Alloc> bool | operator> (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if string follows string.
template<typename CharT, typename Traits, typename Alloc> bool | operator> (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test if string follows C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator> (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if C string follows string.
template<typename CharT, typename Traits, typename Alloc> bool | operator<= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if string doesn't follow string.
template<typename CharT, typename Traits, typename Alloc> bool | operator<= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test if string doesn't follow C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator<= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if C string doesn't follow string.
template<typename CharT, typename Traits, typename Alloc> bool | operator>= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if string doesn't precede string.
template<typename CharT, typename Traits, typename Alloc> bool | operator>= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
| Test if string doesn't precede C string.
template<typename CharT, typename Traits, typename Alloc> bool | operator>= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
| Test if C string doesn't precede string.
template<typename CharT, typename Traits, typename Alloc> void | swap (basic_string< CharT, Traits, Alloc > &__lhs, basic_string< CharT, Traits, Alloc > &__rhs)
| Swap contents of two strings.
template<typename CharT, typename Traits, typename Alloc> basic_istream< CharT, Traits > & | operator>> (basic_istream< CharT, Traits > &__is, basic_string< CharT, Traits, Alloc > &str)
| Read stream into a string.
template<typename CharT, typename Traits, typename Alloc> basic_ostream< CharT, Traits > & | operator<< (basic_ostream< CharT, Traits > &__os, const basic_string< CharT, Traits, Alloc > &str)
| Write string to a stream.
template<typename CharT, typename Traits, typename Alloc> basic_istream< CharT, Traits > & | getline (basic_istream< CharT, Traits > &__is, basic_string< CharT, Traits, Alloc > &str, CharT __delim)
| Read a line from stream into a string.
template<typename CharT, typename Traits, typename Alloc> basic_istream< CharT, Traits > & | getline (basic_istream< CharT, Traits > &__is, basic_string< CharT, Traits, Alloc > &str)
| Read a line from stream into a string.
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 Facet> bool | has_facet (const locale &__loc) throw ()
| Test for the presence of a facet.
template<typename Facet> const Facet & | use_facet (const locale &__loc)
| Return a facet.
template<typename Type> const Type & | __median (const Type &a, const Type &__b, const Type &c)
| Find the median of three values.
template<typename Type, typename Compare> const Type & | __median (const Type &a, const Type &__b, const Type &c, Compare comp)
| Find the median of three values using a predicate for comparison.
template<typename InputIterator, typename Function> Function | for_each (InputIterator first, InputIterator last, Function __f)
| Apply a function to every element of a sequence.
template<typename InputIterator, typename Type> InputIterator | find (InputIterator first, InputIterator last, const Type &__val)
| Find the first occurrence of a value in a sequence.
template<typename InputIterator, typename Predicate> InputIterator | find_if (InputIterator first, InputIterator last, Predicate pred)
| Find the first element in a sequence for which a predicate is true.
template<typename ForwardIterator> ForwardIterator | adjacent_find (ForwardIterator first, ForwardIterator last)
| Find two adjacent values in a sequence that are equal.
template<typename ForwardIterator, typename BinaryPredicate> ForwardIterator | adjacent_find (ForwardIterator first, ForwardIterator last, BinaryPredicate __binary_pred)
| Find two adjacent values in a sequence using a predicate.
template<typename InputIterator, typename Type> iterator_traits< InputIterator >::difference_type | count (InputIterator first, InputIterator last, const Type &value)
| Count the number of copies of a value in a sequence.
template<typename InputIterator, typename Predicate> iterator_traits< InputIterator >::difference_type | count_if (InputIterator first, InputIterator last, Predicate pred)
| Count the elements of a sequence for which a predicate is true.
template<typename ForwardIterator1, typename ForwardIterator2> ForwardIterator1 | search (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
| Search a sequence for a matching sub-sequence.
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate> ForwardIterator1 | search (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate predicate)
| Search a sequence for a matching sub-sequence using a predicate.
template<typename ForwardIterator, typename Integer, typename Type> ForwardIterator | search_n (ForwardIterator first, ForwardIterator last, Integer count, const Type &__val)
| Search a sequence for a number of consecutive values.
template<typename ForwardIterator, typename Integer, typename Type, typename BinaryPredicate> ForwardIterator | search_n (ForwardIterator first, ForwardIterator last, Integer count, const Type &__val, BinaryPredicate __binary_pred)
| Search a sequence for a number of consecutive values using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2> ForwardIterator2 | swap_ranges (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2)
| Swap the elements of two sequences.
template<typename InputIterator, typename OutputIterator, typename UnaryOperation> OutputIterator | transform (InputIterator first, InputIterator last, OutputIterator __result, UnaryOperation __unary_op)
| Perform an operation on a sequence.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename BinaryOperation> OutputIterator | transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator __result, BinaryOperation __binary_op)
| Perform an operation on corresponding elements of two sequences.
template<typename ForwardIterator, typename Type> void | replace (ForwardIterator first, ForwardIterator last, const Type &__old_value, const Type &new_value)
| Replace each occurrence of one value in a sequence with another value.
template<typename ForwardIterator, typename Predicate, typename Type> void | replace_if (ForwardIterator first, ForwardIterator last, Predicate pred, const Type &new_value)
| Replace each value in a sequence for which a predicate returns true with another value.
template<typename InputIterator, typename OutputIterator, typename Type> OutputIterator | replace_copy (InputIterator first, InputIterator last, OutputIterator __result, const Type &__old_value, const Type &new_value)
| Copy a sequence, replacing each element of one value with another value.
template<typename InputIterator, typename OutputIterator, typename Predicate, typename Type> OutputIterator | replace_copy_if (InputIterator first, InputIterator last, OutputIterator __result, Predicate pred, const Type &new_value)
| Copy a sequence, replacing each value for which a predicate returns true with another value.
template<typename ForwardIterator, typename Generator> void | generate (ForwardIterator first, ForwardIterator last, Generator __gen)
| Assign the result of a function object to each value in a sequence.
template<typename OutputIterator, typename Size, typename Generator> OutputIterator | generate_n (OutputIterator first, Size n, Generator __gen)
| Assign the result of a function object to each value in a sequence.
template<typename InputIterator, typename OutputIterator, typename Type> OutputIterator | remove_copy (InputIterator first, InputIterator last, OutputIterator __result, const Type &value)
| Copy a sequence, removing elements of a given value.
template<typename InputIterator, typename OutputIterator, typename Predicate> OutputIterator | remove_copy_if (InputIterator first, InputIterator last, OutputIterator __result, Predicate pred)
| Copy a sequence, removing elements for which a predicate is true.
template<typename ForwardIterator, typename Type> ForwardIterator | remove (ForwardIterator first, ForwardIterator last, const Type &value)
| Remove elements from a sequence.
template<typename ForwardIterator, typename Predicate> ForwardIterator | remove_if (ForwardIterator first, ForwardIterator last, Predicate pred)
| Remove elements from a sequence using a predicate.
template<typename InputIterator, typename OutputIterator> OutputIterator | unique_copy (InputIterator first, InputIterator last, OutputIterator __result)
| Copy a sequence, removing consecutive duplicate values.
template<typename InputIterator, typename OutputIterator, typename BinaryPredicate> OutputIterator | unique_copy (InputIterator first, InputIterator last, OutputIterator __result, BinaryPredicate __binary_pred)
| Copy a sequence, removing consecutive values using a predicate.
template<typename ForwardIterator> ForwardIterator | unique (ForwardIterator first, ForwardIterator last)
| Remove consecutive duplicate values from a sequence.
template<typename ForwardIterator, typename BinaryPredicate> ForwardIterator | unique (ForwardIterator first, ForwardIterator last, BinaryPredicate __binary_pred)
| Remove consecutive values from a sequence using a predicate.
template<typename BidirectionalIterator> void | reverse (BidirectionalIterator first, BidirectionalIterator last)
| Reverse a sequence.
template<typename BidirectionalIterator, typename OutputIterator> OutputIterator | reverse_copy (BidirectionalIterator first, BidirectionalIterator last, OutputIterator __result)
| Copy a sequence, reversing its elements.
template<typename ForwardIterator> void | rotate (ForwardIterator first, ForwardIterator __middle, ForwardIterator last)
| Rotate the elements of a sequence.
template<typename ForwardIterator, typename OutputIterator> OutputIterator | rotate_copy (ForwardIterator first, ForwardIterator __middle, ForwardIterator last, OutputIterator __result)
| Copy a sequence, rotating its elements.
template<typename RandomAccessIterator> void | random_shuffle (RandomAccessIterator first, RandomAccessIterator last)
| Randomly shuffle the elements of a sequence.
template<typename RandomAccessIterator, typename RandomNumberGenerator> void | random_shuffle (RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator &__rand)
| Shuffle the elements of a sequence using a random number generator.
template<typename ForwardIterator, typename Predicate> ForwardIterator | partition (ForwardIterator first, ForwardIterator last, Predicate pred)
| Move elements for which a predicate is true to the beginning of a sequence.
template<typename ForwardIterator, typename Predicate> ForwardIterator | stable_partition (ForwardIterator first, ForwardIterator last, Predicate pred)
| Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.
template<typename RandomAccessIterator> void | partial_sort (RandomAccessIterator first, RandomAccessIterator __middle, RandomAccessIterator last)
| Sort the smallest elements of a sequence.
template<typename RandomAccessIterator, typename Compare> void | partial_sort (RandomAccessIterator first, RandomAccessIterator __middle, RandomAccessIterator last, Compare comp)
| Sort the smallest elements of a sequence using a predicate for comparison.
template<typename InputIterator, typename RandomAccessIterator> RandomAccessIterator | partial_sort_copy (InputIterator first, InputIterator last, RandomAccessIterator __result_first, RandomAccessIterator __result_last)
| Copy the smallest elements of a sequence.
template<typename InputIterator, typename RandomAccessIterator, typename Compare> RandomAccessIterator | partial_sort_copy (InputIterator first, InputIterator last, RandomAccessIterator __result_first, RandomAccessIterator __result_last, Compare comp)
| Copy the smallest elements of a sequence using a predicate for comparison.
template<typename RandomAccessIterator> void | sort (RandomAccessIterator first, RandomAccessIterator last)
| Sort the elements of a sequence.
template<typename RandomAccessIterator, typename Compare> void | sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Sort the elements of a sequence using a predicate for comparison.
template<typename ForwardIterator, typename Type> ForwardIterator | lower_bound (ForwardIterator first, ForwardIterator last, const Type &__val)
| Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare> ForwardIterator | lower_bound (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
| Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type> ForwardIterator | upper_bound (ForwardIterator first, ForwardIterator last, const Type &__val)
| Finds the last position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare> ForwardIterator | upper_bound (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
| Finds the last position in which val could be inserted without changing the ordering.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator> OutputIterator | merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
| Merges two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare> OutputIterator | merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
| Merges two sorted ranges.
template<typename BidirectionalIterator> void | inplace_merge (BidirectionalIterator first, BidirectionalIterator __middle, BidirectionalIterator last)
| Merges two sorted ranges in place.
template<typename BidirectionalIterator, typename Compare> void | inplace_merge (BidirectionalIterator first, BidirectionalIterator __middle, BidirectionalIterator last, Compare comp)
| Merges two sorted ranges in place.
template<typename RandomAccessIterator> void | stable_sort (RandomAccessIterator first, RandomAccessIterator last)
| Sort the elements of a sequence, preserving the relative order of equivalent elements.
template<typename RandomAccessIterator, typename Compare> void | stable_sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.
template<typename RandomAccessIterator> void | nth_element (RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last)
| Sort a sequence just enough to find a particular position.
template<typename RandomAccessIterator, typename Compare> void | nth_element (RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last, Compare comp)
| Sort a sequence just enough to find a particular position using a predicate for comparison.
template<typename ForwardIterator, typename Type> pair< ForwardIterator, ForwardIterator > | equal_range (ForwardIterator first, ForwardIterator last, const Type &__val)
| Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare> pair< ForwardIterator, ForwardIterator > | equal_range (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
| Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIterator, typename Type> bool | binary_search (ForwardIterator first, ForwardIterator last, const Type &__val)
| Determines whether an element exists in a range.
template<typename ForwardIterator, typename Type, typename Compare> bool | binary_search (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
| Determines whether an element exists in a range.
template<typename InputIterator1, typename InputIterator2> bool | includes (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
| Determines whether all elements of a sequence exists in a range.
template<typename InputIterator1, typename InputIterator2, typename Compare> bool | includes (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp)
| Determines whether all elements of a sequence exists in a range using comparison.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator> OutputIterator | set_union (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
| Return the union of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare> OutputIterator | set_union (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
| Return the union of two sorted ranges using a comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator> OutputIterator | set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
| Return the intersection of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare> OutputIterator | set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
| Return the intersection of two sorted ranges using comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator> OutputIterator | set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
| Return the difference of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare> OutputIterator | set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
| Return the difference of two sorted ranges using comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator> OutputIterator | set_symmetric_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
| Return the symmetric difference of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare> OutputIterator | set_symmetric_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
| Return the symmetric difference of two sorted ranges using comparison functor.
template<typename ForwardIterator> ForwardIterator | max_element (ForwardIterator first, ForwardIterator last)
| Return the maximum element in a range.
template<typename ForwardIterator, typename Compare> ForwardIterator | max_element (ForwardIterator first, ForwardIterator last, Compare comp)
| Return the maximum element in a range using comparison functor.
template<typename ForwardIterator> ForwardIterator | min_element (ForwardIterator first, ForwardIterator last)
| Return the minimum element in a range.
template<typename ForwardIterator, typename Compare> ForwardIterator | min_element (ForwardIterator first, ForwardIterator last, Compare comp)
| Return the minimum element in a range using comparison functor.
template<typename BidirectionalIterator> bool | next_permutation (BidirectionalIterator first, BidirectionalIterator last)
| Permute range into the next "dictionary" ordering.
template<typename BidirectionalIterator, typename Compare> bool | next_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp)
| Permute range into the next "dictionary" ordering using comparison functor.
template<typename BidirectionalIterator> bool | prev_permutation (BidirectionalIterator first, BidirectionalIterator last)
| Permute range into the previous "dictionary" ordering.
template<typename BidirectionalIterator, typename Compare> bool | prev_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp)
| Permute range into the previous "dictionary" ordering using comparison functor.
template<typename InputIterator, typename ForwardIterator> InputIterator | find_first_of (InputIterator first1, InputIterator last1, ForwardIterator first2, ForwardIterator last2)
| Find element from a set in a sequence.
template<typename InputIterator, typename ForwardIterator, typename BinaryPredicate> InputIterator | find_first_of (InputIterator first1, InputIterator last1, ForwardIterator first2, ForwardIterator last2, BinaryPredicate comp)
| Find element from a set in a sequence using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2> ForwardIterator1 | find_end (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
| Find last matching subsequence in a sequence.
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate> ForwardIterator1 | find_end (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate comp)
| Find last matching subsequence in a sequence using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2> void | iter_swap (ForwardIterator1 a, ForwardIterator2 __b)
| Swaps the contents of two iterators.
template<typename Type> void | swap (Type &a, Type &__b)
| Swaps two values.
template<typename Type> const Type & | min (const Type &a, const Type &__b)
| This does what you think it does.
template<typename Type> const Type & | max (const Type &a, const Type &__b)
| This does what you think it does.
template<typename Type, typename Compare> const Type & | min (const Type &a, const Type &__b, Compare comp)
| This does what you think it does.
template<typename Type, typename Compare> const Type & | max (const Type &a, const Type &__b, Compare comp)
| This does what you think it does.
template<typename InputIterator, typename OutputIterator> OutputIterator | copy (InputIterator first, InputIterator last, OutputIterator __result)
| Copies the range [first,last) into result.
template<typename BI1, typename BI2> BI2 | copy_backward (BI1 first, BI1 last, BI2 __result)
| Copies the range [first,last) into result.
template<typename ForwardIterator, typename Type> void | fill (ForwardIterator first, ForwardIterator last, const Type &value)
| Fills the range [first,last) with copies of value.
template<typename OutputIterator, typename Size, typename Type> OutputIterator | fill_n (OutputIterator first, Size n, const Type &value)
| Fills the range [first,first+n) with copies of value.
template<typename InputIterator1, typename InputIterator2> pair< InputIterator1, InputIterator2 > | mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2)
| Finds the places in ranges which don't match.
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate> pair< InputIterator1, InputIterator2 > | mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred)
| Finds the places in ranges which don't match.
template<typename InputIterator1, typename InputIterator2> bool | equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2)
| Tests a range for element-wise equality.
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate> bool | equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred)
| Tests a range for element-wise equality.
template<typename InputIterator1, typename InputIterator2> bool | lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
| Performs "dictionary" comparison on ranges.
template<typename InputIterator1, typename InputIterator2, typename Compare> bool | lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp)
| Performs "dictionary" comparison on ranges.
template<typename Type, typename Alloc> bool | operator== (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Deque equality comparison.
template<typename Type, typename Alloc> bool | operator< (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Deque ordering relation.
template<typename Type, typename Alloc> bool | operator!= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Based on operator==.
template<typename Type, typename Alloc> bool | operator> (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator<= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator>= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> void | swap (deque< Type, Alloc > &x, deque< Type, 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 Type> binder1st< Operation > | bind1st (const Operation &__fn, const Type &x)
| One of the binder functors.
template<class Operation, class Type> binder2nd< Operation > | bind2nd (const Operation &__fn, const Type &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 RandomAccessIterator> void | push_heap (RandomAccessIterator first, RandomAccessIterator last)
| Push an element onto a heap.
template<typename RandomAccessIterator, typename Compare> void | push_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Push an element onto a heap using comparison functor.
template<typename RandomAccessIterator> void | pop_heap (RandomAccessIterator first, RandomAccessIterator last)
| Pop an element off a heap.
template<typename RandomAccessIterator, typename Compare> void | pop_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Pop an element off a heap using comparison functor.
template<typename RandomAccessIterator> void | make_heap (RandomAccessIterator first, RandomAccessIterator last)
| Construct a heap over a range.
template<typename RandomAccessIterator, typename Compare> void | make_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Construct a heap over a range using comparison functor.
template<typename RandomAccessIterator> void | sort_heap (RandomAccessIterator first, RandomAccessIterator last)
| Sort a heap.
template<typename RandomAccessIterator, typename Compare> void | sort_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
| Sort a heap using comparison functor.
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 Type, typename Alloc> bool | operator== (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| List equality comparison.
template<typename Type, typename Alloc> bool | operator< (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| List ordering relation.
template<typename Type, typename Alloc> bool | operator!= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| Based on operator==.
template<typename Type, typename Alloc> bool | operator> (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator<= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator>= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> void | swap (list< Type, Alloc > &x, list< Type, Alloc > &y)
| See std::list::swap().
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator== (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Map equality comparison.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator< (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Map ordering relation.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator!= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Based on operator==.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator> (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator<= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator>= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> void | swap (map< Key, Type, Compare, Alloc > &x, map< Key, Type, Compare, Alloc > &y)
| See std::map::swap().
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator== (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Multimap equality comparison.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator< (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Multimap ordering relation.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator!= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Based on operator==.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator> (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator<= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> bool | operator>= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
| Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc> void | swap (multimap< Key, Type, Compare, Alloc > &x, multimap< Key, Type, Compare, Alloc > &y)
| See std::multimap::swap().
template<class Key, class Compare, class Alloc> bool | operator== (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Multiset equality comparison.
template<class Key, class Compare, class Alloc> bool | operator< (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Multiset ordering relation.
template<class Key, class Compare, class Alloc> bool | operator!= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Returns !(x == y).
template<class Key, class Compare, class Alloc> bool | operator> (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Returns y < x.
template<class Key, class Compare, class Alloc> bool | operator<= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Returns !(y < x).
template<class Key, class Compare, class Alloc> bool | operator>= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
| Returns !(x < y).
template<class Key, class Compare, class Alloc> void | swap (multiset< Key, Compare, Alloc > &x, multiset< Key, Compare, Alloc > &y)
| See std::multiset::swap().
template<typename InputIterator, typename Type> Type | accumulate (InputIterator first, InputIterator last, Type init)
| Accumulate values in a range.
template<typename InputIterator, typename Type, typename BinaryOperation> Type | accumulate (InputIterator first, InputIterator last, Type init, BinaryOperation __binary_op)
| Accumulate values in a range with operation.
template<typename InputIterator1, typename InputIterator2, typename Type> Type | inner_product (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init)
| Compute inner product of two ranges.
template<typename InputIterator1, typename InputIterator2, typename Type, typename BinaryOperation1, typename BinaryOperation2> Type | inner_product (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init, BinaryOperation1 __binary_op1, BinaryOperation2 __binary_op2)
| Compute inner product of two ranges.
template<typename InputIterator, typename OutputIterator> OutputIterator | partial_sum (InputIterator first, InputIterator last, OutputIterator __result)
| Return list of partial sums.
template<typename InputIterator, typename OutputIterator, typename BinaryOperation> OutputIterator | partial_sum (InputIterator first, InputIterator last, OutputIterator __result, BinaryOperation __binary_op)
| Return list of partial sums.
template<typename InputIterator, typename OutputIterator> OutputIterator | adjacent_difference (InputIterator first, InputIterator last, OutputIterator __result)
| Return differences between adjacent values.
template<typename InputIterator, typename OutputIterator, typename BinaryOperation> OutputIterator | adjacent_difference (InputIterator first, InputIterator last, OutputIterator __result, BinaryOperation __binary_op)
| Return differences between adjacent values.
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 (T1 x, T2 y)
| A convenience wrapper for creating a pair from two objects.
template<typename Type, typename Sequence> bool | operator== (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Queue equality comparison.
template<typename Type, typename Sequence> bool | operator< (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Queue ordering relation.
template<typename Type, typename Sequence> bool | operator!= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Based on operator==.
template<typename Type, typename Sequence> bool | operator> (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Based on operator<.
template<typename Type, typename Sequence> bool | operator<= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Based on operator<.
template<typename Type, typename Sequence> bool | operator>= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
| Based on operator<.
template<class Key, class Compare, class Alloc> bool | operator== (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Set equality comparison.
template<class Key, class Compare, class Alloc> bool | operator< (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Set ordering relation.
template<class Key, class Compare, class Alloc> bool | operator!= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Returns !(x == y).
template<class Key, class Compare, class Alloc> bool | operator> (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Returns y < x.
template<class Key, class Compare, class Alloc> bool | operator<= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Returns !(y < x).
template<class Key, class Compare, class Alloc> bool | operator>= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
| Returns !(x < y).
template<class Key, class Compare, class Alloc> void | swap (set< Key, Compare, Alloc > &x, set< Key, Compare, Alloc > &y)
| See std::set::swap().
template<typename Type, typename Seq> bool | operator== (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Stack equality comparison.
template<typename Type, typename Seq> bool | operator< (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Stack ordering relation.
template<typename Type, typename Seq> bool | operator!= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Based on operator==.
template<typename Type, typename Seq> bool | operator> (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Based on operator<.
template<typename Type, typename Seq> bool | operator<= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Based on operator<.
template<typename Type, typename Seq> bool | operator>= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
| Based on operator<.
template<typename InputIterator, typename ForwardIterator> ForwardIterator | uninitialized_copy (InputIterator first, InputIterator last, ForwardIterator __result)
| Copies the range [first,last) into result.
template<typename ForwardIterator, typename Type> void | uninitialized_fill (ForwardIterator first, ForwardIterator last, const Type &x)
| Copies the value x into the range [first,last).
template<typename ForwardIterator, typename Size, typename Type> ForwardIterator | uninitialized_fill_n (ForwardIterator first, Size n, const Type &x)
| Copies the value x into the range [first,first+n).
template<typename Type, typename Alloc> bool | operator== (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Vector equality comparison.
template<typename Type, typename Alloc> bool | operator< (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Vector ordering relation.
template<typename Type, typename Alloc> bool | operator!= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Based on operator==.
template<typename Type, typename Alloc> bool | operator> (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator<= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> bool | operator>= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
| Based on operator<.
template<typename Type, typename Alloc> void | swap (vector< Type, Alloc > &x, vector< Type, Alloc > &y)
| See std::vector::swap().
template<typename Type, typename CharT, typename Traits, typename Dist> bool | operator== (const istream_iterator< Type, CharT, Traits, Dist > &x, const istream_iterator< Type, CharT, Traits, Dist > &y)
| Return true if x and y are both end or not end, or x and y are the same.
template<class Type, class CharT, class Traits, class Dist> bool | operator!= (const istream_iterator< Type, CharT, Traits, Dist > &x, const istream_iterator< Type, CharT, Traits, Dist > &y)
| Return false if x and y are both end or not end, or x and y are the same.
template<typename Type> Type | abs (const complex< Type > &)
| Return magnitude of z.
template<typename Type> Type | arg (const complex< Type > &)
| Return phase angle of z.
template<typename Type> Type | norm (const complex< Type > &)
| Return z magnitude squared.
template<typename Type> complex< Type > | conj (const complex< Type > &)
| Return complex conjugate of z.
template<typename Type> complex< Type > | polar (const Type &, const Type &=0)
| Return complex with magnitude rho and angle theta.
template<typename Type> complex< Type > | cos (const complex< Type > &)
| Return complex cosine of z.
template<typename Type> complex< Type > | cosh (const complex< Type > &)
| Return complex hyperbolic cosine of z.
template<typename Type> complex< Type > | exp (const complex< Type > &)
| Return complex base e exponential of z.
template<typename Type> complex< Type > | log (const complex< Type > &)
| Return complex natural logarithm of z.
template<typename Type> complex< Type > | log10 (const complex< Type > &)
| Return complex base 10 logarithm of z.
template<typename Type> complex< Type > | pow (const complex< Type > &, int)
| Return complex cosine of z.
template<typename Type> complex< Type > | pow (const complex< Type > &, const Type &)
| Return x to the y'th power.
template<typename Type> complex< Type > | pow (const complex< Type > &, const complex< Type > &)
| Return x to the y'th power.
template<typename Type> complex< Type > | pow (const Type &, const complex< Type > &)
| Return x to the y'th power.
template<typename Type> complex< Type > | sin (const complex< Type > &)
| Return complex sine of z.
template<typename Type> complex< Type > | sinh (const complex< Type > &)
| Return complex hyperbolic sine of z.
template<typename Type> complex< Type > | sqrt (const complex< Type > &)
| Return complex square root of z.
template<typename Type> complex< Type > | tan (const complex< Type > &)
| Return complex tangent of z.
template<typename Type> complex< Type > | tanh (const complex< Type > &)
| Return complex hyperbolic tangent of z.
template<typename Type> complex< Type > | operator+ (const complex< Type > &x)
| Return x.
template<typename Type> complex< Type > | operator- (const complex< Type > &x)
| Return complex negation of x.
template<typename Type, typename CharT, class Traits> basic_istream< CharT, Traits > & | operator>> (basic_istream< CharT, Traits > &__is, complex< Type > &x)
| Extraction operator for complex values.
template<typename Type, typename CharT, class Traits> basic_ostream< CharT, Traits > & | operator<< (basic_ostream< CharT, Traits > &__os, const complex< Type > &x)
| Insertion operator for complex values.
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 Type> pair< Type *, ptrdiff_t > | get_temporary_buffer (ptrdiff_t __len)
| Allocates a temporary buffer.
template<typename Type> void | return_temporary_buffer (Type *__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 long long std::streamoff

| Type used by fpos, char_traits<char>, and char_traits<wchar_t>. Definition at line 74 of file postypes.h.

typedef fpos<mbstate_t> std::streampos

| File position for char streams. Definition at line 210 of file postypes.h.

typedef ptrdiff_t std::streamsize

Integral type for I/O operation counts and buffer sizes.

Definition at line 78 of file postypes.h.

Referenced by std::basic_istream< char >::basic_istream(), std::num_put< CharT, OutIter >::do_put(), std::basic_istream< CharT, Traits >::getline(), std::basic_filebuf< CharT, Traits >::imbue(), std::basic_streambuf< CharT, enc_char_traits< CharT > >::in_avail(), std::basic_filebuf< CharT, enc_char_traits< CharT > >::is_open(), std::basic_ostream< char >::M_write(), operator<<(), operator>>(), std::ios_base::precision(), std::basic_istream< CharT, Traits >::readsome(), std::basic_filebuf< CharT, Traits >::showmanyc(), std::basic_filebuf< CharT, Traits >::underflow(), std::ios_base::width(), std::basic_streambuf< CharT, Traits >::xsgetn(), std::basic_streambuf< CharT, Traits >::xsputn(), and std::basic_istream< char >::~basic_istream().

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

| File position for wchar_t streams. Definition at line 212 of file postypes.h.

## Enumeration Type Documentation

enum std::float_denorm_style

Describes the denormalization for floating-point types.

These values represent the presence or absence of a variable number of exponent bits. This type is used in the std::numeric_limits class.

Enumeration values:

  denorm_indeterminate | Indeterminate at compile time whether denormalized values are allowed.
  denorm_absent | The type does not allow denormalized values.
  denorm_present | The type allows denormalized values.

Definition at line 172 of file limits.

enum std::float_round_style

Describes the rounding style for floating-point types.

This is used in the std::numeric_limits class.

Enumeration values:

  round_indeterminate | Self-explanatory.
  round_toward_zero | Self-explanatory.
  round_to_nearest | To the nearest representable value.
  round_toward_infinity | Self-explanatory.
  round_toward_neg_infinity | Self-explanatory.

Definition at line 157 of file limits.

## Function Documentation

template<typename Type>
Type std::abs | ( | const complex< Type > & |  | ) | `[inline]`

| Return magnitude of z. Definition at line 579 of file complex. References std::complex< Type >::__rep().

template<typename InputIterator, typename Type, typename BinaryOperation>
Type accumulate | ( | InputIterator | first,
|  | InputIterator | last,
|  | Type | init,
|  | BinaryOperation | __binary_op
| ) |

Accumulate values in a range with operation.

Accumulates the values in the range [first,last) using the function object binary_op. The initial value is init. The values are processed in order.

Parameters:

  | first | Start of range.
  | last | End of range.
  | init | Starting value to add other values to.
  | binary_op | Function object to accumulate with.

Returns:
  The final sum.

Definition at line 108 of file stl_numeric.h.

template<typename InputIterator, typename Type>
Type accumulate | ( | InputIterator | first,
|  | InputIterator | last,
|  | Type | init
| ) |

Accumulate values in a range.

Accumulates the values in the range [first,last) using operator+(). The initial value is init. The values are processed in order.

Parameters:

  | first | Start of range.
  | last | End of range.
  | init | Starting value to add other values to.

Returns:
  The final sum.

Definition at line 82 of file stl_numeric.h.

template<typename InputIterator, typename OutputIterator, typename BinaryOperation>
OutputIterator adjacent_difference | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result,
|  | BinaryOperation | __binary_op
| ) |

Return differences between adjacent values.

Computes the difference between adjacent values in the range [first,last) using the function object binary_op and writes the result to result.

Parameters:

  | first | Start of input range.
  | last | End of input range.
  | result | Output to write sums to.

Returns:
  Iterator pointing just beyond the values written to result.

Definition at line 303 of file stl_numeric.h.

template<typename InputIterator, typename OutputIterator>
OutputIterator adjacent_difference | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result
| ) |

Return differences between adjacent values.

Computes the difference between adjacent values in the range [first,last) using operator-() and writes the result to result.

Parameters:

  | first | Start of input range.
  | last | End of input range.
  | result | Output to write sums to.

Returns:
  Iterator pointing just beyond the values written to result.

Definition at line 268 of file stl_numeric.h.

template<typename ForwardIterator, typename BinaryPredicate>
ForwardIterator adjacent_find | ( | ForwardIterator | first,
|  | ForwardIterator | 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 381 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator adjacent_find | ( | ForwardIterator | first,
|  | ForwardIterator | 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 350 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 172 of file stl_iterator_base_funcs.h.

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

template<typename Type>
Type std::arg | ( | const complex< Type > & |  | ) | `[inline]`

| Return phase angle of z. Definition at line 602 of file complex. References std::complex< Type >::__rep().

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 408 of file stl_iterator.h.

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

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

template<typename Type>
complex< Type > std::conj | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex conjugate of z. Definition at line 646 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename InputIterator, typename OutputIterator>
OutputIterator copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __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). Result may not be contained within [first,last); the copy_backward function should be used instead.

Note that the end of the output range is permitted to be contained within [first,last).

Definition at line 348 of file stl_algobase.h.

Referenced by std::vector< Type, Alloc >::erase(), std::deque< Type, Alloc >::erase(), merge(), std::vector< Type, Alloc >::operator=(), std::deque< Type, Alloc >::operator=(), rotate_copy(), set_difference(), set_symmetric_difference(), and set_union().

template<typename BI1, typename BI2>
BI2 copy_backward | ( | BI1 | first,
|  | BI1 | last,
|  | BI2 | __result
| ) | `[inline]`

Copies the range [first,last) into result.

Parameters:

  | first | A bidirectional iterator.
  | last | A bidirectional iterator.
  | result | A bidirectional 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).

Result may not be in the range [first,last). Use copy instead. Note that the start of the output range may overlap [first,last).

Definition at line 487 of file stl_algobase.h.

Referenced by std::deque< Type, Alloc >::erase().

template<typename Type>
complex< Type > std::cos | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex cosine of z. Definition at line 673 of file complex. References std::complex< Type >::__rep(). Referenced by polar().

template<typename Type>
complex< Type > std::cosh | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex hyperbolic cosine of z. Definition at line 697 of file complex. References std::complex< Type >::__rep().

template<typename InputIterator, typename Type>
iterator_traits<InputIterator>::difference_type count | ( | InputIterator | first,
|  | InputIterator | last,
|  | const Type & | 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 412 of file stl_algo.h.

Referenced by std::set< Key, Compare, Allocator >::count(), std::multiset< Key, Compare, Allocator >::count(), std::multimap< Key, Type, Compare, Allocator >::count(), and std::map< Key, Type, Compare, Allocator >::count().

template<typename InputIterator, typename Predicate>
iterator_traits<InputIterator>::difference_type count_if | ( | InputIterator | first,
|  | InputIterator | 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 437 of file stl_algo.h.

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

| Calls base.setf(ios_base::dec, ios_base::basefield). Definition at line 885 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 114 of file stl_iterator_base_funcs.h.

Referenced by equal_range(), inplace_merge(), lower_bound(), __gnu_cxx::random_sample_n(), std::list< Type, Allocator >::size(), 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 518 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 529 of file ostream. References std::basic_ostream< CharT, Traits >::put().

template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
bool equal | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | 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 713 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
bool equal | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | 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 680 of file stl_algobase.h.

Referenced by operator==().

template<typename Type>
complex< Type > std::exp | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex base e exponential of z. Definition at line 717 of file complex. References std::complex< Type >::__rep(). Referenced by pow().

template<typename ForwardIterator, typename Type>
void fill | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | const Type & | 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 516 of file stl_algobase.h.

template<typename OutputIterator, typename Size, typename Type>
OutputIterator fill_n | ( | OutputIterator | first,
|  | Size | n,
|  | const Type & | value
| ) |

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

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 540 of file stl_algobase.h.

template<typename InputIterator, typename Type>
InputIterator find | ( | InputIterator | first,
|  | InputIterator | last,
|  | const Type & | __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 306 of file stl_algo.h.

Referenced by std::basic_string< char >::find(), std::basic_string< char >::find_first_of(), remove(), search(), and search_n().

template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
ForwardIterator1 find_end | ( | ForwardIterator1 | first1,
|  | ForwardIterator1 | last1,
|  | ForwardIterator2 | first2,
|  | ForwardIterator2 | last2,
|  | BinaryPredicate | comp
| ) | `[inline]`

Find last matching subsequence in a sequence using a predicate.

Parameters:

  | first1 | Start of range to search.
  | last1 | End of range to search.
  | first2 | Start of sequence to match.
  | last2 | End of sequence to match.
  | comp | The predicate to use.

Returns:
  The last 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 comp as a predicate and returns an iterator to the first element of the sub-sequence, or `last1` if the sub-sequence is not found. The sub-sequence will be the last such subsequence contained in [first,last1).

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 5133 of file stl_algo.h.

template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator1 find_end | ( | ForwardIterator1 | first1,
|  | ForwardIterator1 | last1,
|  | ForwardIterator2 | first2,
|  | ForwardIterator2 | last2
| ) | `[inline]`

Find last matching subsequence in a sequence.

Parameters:

  | first1 | Start of range to search.
  | last1 | End of range to search.
  | first2 | Start of sequence to match.
  | last2 | End of sequence to match.

Returns:
  The last 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. The sub-sequence will be the last such subsequence contained in [first,last1).

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 5087 of file stl_algo.h.

template<typename InputIterator, typename ForwardIterator, typename BinaryPredicate>
InputIterator find_first_of | ( | InputIterator | first1,
|  | InputIterator | last1,
|  | ForwardIterator | first2,
|  | ForwardIterator | last2,
|  | BinaryPredicate | comp
| ) |

Find element from a set in a sequence using a predicate.

Parameters:

  | first1 | Start of range to search.
  | last1 | End of range to search.
  | first2 | Start of match candidates.
  | last2 | End of match candidates.
  | comp | Predicate to use.

Returns:
  The first iterator `i` in the range ``[first1,last1) such that `comp`(*i, `*`(i2)) is true and i2 is an interator in [first2,last2), or `last1` if no such iterator exists.

Searches the range ``[first1,last1) for an element that is equal to some element in the range [first2,last2). If found, returns an iterator in the range [first1,last1), otherwise returns `last1`.

Definition at line 4905 of file stl_algo.h.

template<typename InputIterator, typename ForwardIterator>
InputIterator find_first_of | ( | InputIterator | first1,
|  | InputIterator | last1,
|  | ForwardIterator | first2,
|  | ForwardIterator | last2
| ) |

Find element from a set in a sequence.

Parameters:

  | first1 | Start of range to search.
  | last1 | End of range to search.
  | first2 | Start of match candidates.
  | last2 | End of match candidates.

Returns:
  The first iterator `i` in the range ``[first1,last1) such that `*i` == `*`(i2) such that i2 is an interator in [first2,last2), or `last1` if no such iterator exists.

Searches the range ``[first1,last1) for an element that is equal to some element in the range [first2,last2). If found, returns an iterator in the range [first1,last1), otherwise returns `last1`.

Definition at line 4868 of file stl_algo.h.

Referenced by std::basic_string< char >::find_first_of().

template<typename InputIterator, typename Predicate>
InputIterator find_if | ( | InputIterator | first,
|  | InputIterator | 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 328 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 910 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 539 of file ostream. References std::basic_ostream< CharT, Traits >::flush(). Referenced by endl().

template<typename InputIterator, typename Function>
Function for_each | ( | InputIterator | first,
|  | InputIterator | 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 482 of file stl_iterator.h.

template<typename ForwardIterator, typename Generator>
void generate | ( | ForwardIterator | first,
|  | ForwardIterator | 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 972 of file stl_algo.h.

template<typename OutputIterator, typename Size, typename Generator>
OutputIterator generate_n | ( | OutputIterator | 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 998 of file stl_algo.h.

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

Allocates a temporary buffer.

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.

Provides the nothrow exception guarantee.

Definition at line 109 of file memory.

template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & std::getline | ( | basic_istream< CharT, Traits > & | __is,
|  | basic_string< CharT, Traits, Alloc > & | str
| ) | `[inline]`

Read a line from stream into a string.

Parameters:

  | is | Input stream.
  | str | Buffer to store into.

Returns:
  Reference to the input stream.

Stores characters from is into str until '
' is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into str. Any previous contents of str are erased. If end of line was encountered, it is extracted but not stored into str.

Definition at line 1162 of file istream.tcc.

References getline(), and std::basic_ios< CharT, Traits >::widen().

template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & std::getline | ( | basic_istream< CharT, Traits > & | __is,
|  | basic_string< CharT, Traits, Alloc > & | str,
|  | CharT | __delim
| ) |

Read a line from stream into a string.

Parameters:

  | is | Input stream.
  | str | Buffer to store into.
  | delim | Character marking end of line.

Returns:
  Reference to the input stream.

Stores characters from is into str until delim is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into str. Any previous contents of str are erased. If delim was encountered, it is extracted but not stored into str.

Definition at line 1093 of file istream.tcc.

References std::basic_string< CharT, Traits, Alloc >::append(), std::basic_string< CharT, Traits, Alloc >::erase(), std::basic_string< CharT, Traits, Alloc >::max_size(), std::basic_ios< CharT, Traits >::rdbuf(), and std::basic_ios< CharT, Traits >::setstate().

Referenced by getline(), and std::basic_istream< char >::getline().

template<typename Facet>
bool std::has_facet | ( | const locale & | __loc | ) | throw ()`[inline]`

Test for the presence of a facet.

has_facet tests the locale argument for the presence of the facet type provided as the template parameter. Facets derived from the facet parameter will also return true.

Parameters:

  | Facet | The facet type to test the presence of.
  | locale | The locale to test.

Returns:
  true if locale contains a facet of type Facet, else false.

Definition at line 85 of file locale_facets.tcc.

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

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

template<typename InputIterator1, typename InputIterator2, typename Type, typename BinaryOperation1, typename BinaryOperation2>
Type inner_product | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | Type | init,
|  | BinaryOperation1 | __binary_op1,
|  | BinaryOperation2 | __binary_op2
| ) |

Compute inner product of two ranges.

Starting with an initial value of init, applies binary_op2 to successive elements from the two ranges and accumulates each result into the accumulated value using binary_op1. The values in the ranges are processed in order.

Parameters:

  | first1 | Start of range 1.
  | last1 | End of range 1.
  | first2 | Start of range 2.
  | init | Starting value to add other values to.
  | binary_op1 | Function object to accumulate with.
  | binary_op2 | Function object to apply to pairs of input values.

Returns:
  The final inner product.

Definition at line 168 of file stl_numeric.h.

template<typename InputIterator1, typename InputIterator2, typename Type>
Type inner_product | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | Type | init
| ) |

Compute inner product of two ranges.

Starting with an initial value of init, multiplies successive elements from the two ranges and adds each product into the accumulated value using operator+(). The values in the ranges are processed in order.

Parameters:

  | first1 | Start of range 1.
  | last1 | End of range 1.
  | first2 | Start of range 2.
  | init | Starting value to add other values to.

Returns:
  The final inner product.

Definition at line 136 of file stl_numeric.h.

template<typename BidirectionalIterator, typename Compare>
void inplace_merge | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | __middle,
|  | BidirectionalIterator | 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 3494 of file stl_algo.h.

References distance().

template<typename BidirectionalIterator>
void inplace_merge | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | __middle,
|  | BidirectionalIterator | 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 3440 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 578 of file stl_iterator.h.

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

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

template<typename CharT>
bool std::isalnum | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4542 of file locale_facets.h.

template<typename CharT>
bool std::isalpha | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4522 of file locale_facets.h.

template<typename CharT>
bool std::iscntrl | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4508 of file locale_facets.h.

template<typename CharT>
bool std::isdigit | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4527 of file locale_facets.h.

template<typename CharT>
bool std::isgraph | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4547 of file locale_facets.h.

template<typename CharT>
bool std::islower | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4517 of file locale_facets.h.

template<typename CharT>
bool std::isprint | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4503 of file locale_facets.h.

template<typename CharT>
bool std::ispunct | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4532 of file locale_facets.h.

template<typename CharT>
bool std::isspace | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4498 of file locale_facets.h.

template<typename CharT>
bool std::isupper | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4513 of file locale_facets.h.

template<typename CharT>
bool std::isxdigit | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4537 of file locale_facets.h.

template<typename ForwardIterator1, typename ForwardIterator2>
void iter_swap | ( | ForwardIterator1 | a,
|  | ForwardIterator2 | __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 92 of file stl_algobase.h.

Referenced by next_permutation(), prev_permutation(), random_shuffle(), and swap_ranges().

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

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

template<typename InputIterator1, typename InputIterator2, typename Compare>
bool lexicographical_compare | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | InputIterator2 | last2,
|  | Compare | comp
| ) |

Performs "dictionary" comparison on ranges.

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 782 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
bool lexicographical_compare | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | InputIterator2 | 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 744 of file stl_algobase.h.

Referenced by operator<().

template<typename Type>
complex< Type > std::log | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex natural logarithm of z. Definition at line 742 of file complex. Referenced by log10(), and pow().

template<typename Type>
complex< Type > std::log10 | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex base 10 logarithm of z. Definition at line 746 of file complex. References log().

template<typename RandomAccessIterator, typename Compare>
void make_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last,
|  | Compare | comp
| ) | `[inline]`

Construct a heap over a range using comparison functor.

Parameters:

  | first | Start of heap.
  | last | End of heap.
  | comp | Comparison functor to use.

This operation makes the elements in [first,last) into a heap. Comparisons are made using comp.

Definition at line 384 of file stl_heap.h.

template<typename RandomAccessIterator>
void make_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last
| ) |

Construct a heap over a range.

Parameters:

  | first | Start of heap.
  | last | End of heap.

This operation makes the elements in [first,last) into a heap.

Definition at line 344 of file stl_heap.h.

Referenced by partial_sort(), partial_sort_copy(), and std::priority_queue< Type, Sequence, Compare >::priority_queue().

template<class T1, class T2>
pair<T1, T2> make_pair | ( | T1 | x,
|  | 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 144 of file stl_pair.h.

template<typename Type, typename Compare>
const Type& max | ( | const Type & | a,
|  | const Type & | __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 214 of file stl_algobase.h.

template<typename Type>
const Type& max | ( | const Type & | a,
|  | const Type & | __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 172 of file stl_algobase.h.

Referenced by std::basic_stringbuf< CharT, Traits, Alloc >::overflow().

template<typename ForwardIterator, typename Compare>
ForwardIterator max_element | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | Compare | comp
| ) |

Return the maximum element in a range using comparison functor.

Parameters:

  | first | Start of range.
  | last | End of range.
  | comp | Comparison functor.

Returns:
  Iterator referencing the first instance of the largest value according to comp.

Definition at line 4555 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator max_element | ( | ForwardIterator | first,
|  | ForwardIterator | last
| ) |

Return the maximum element in a range.

Parameters:

  | first | Start of range.
  | last | End of range.

Returns:
  Iterator referencing the first instance of the largest value.

Definition at line 4528 of file stl_algo.h.

Referenced by std::valarray< Type >::max().

template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator merge | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | InputIterator2 | last2,
|  | OutputIterator | __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 3021 of file stl_algo.h.

References copy().

template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator merge | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | InputIterator2 | last2,
|  | OutputIterator | __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 2963 of file stl_algo.h.

References copy().

template<typename Type, typename Compare>
const Type& min | ( | const Type & | a,
|  | const Type & | __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 194 of file stl_algobase.h.

template<typename Type>
const Type& min | ( | const Type & | a,
|  | const Type & | __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 150 of file stl_algobase.h.

Referenced by std::basic_string< CharT, Traits, Alloc >::compare(), std::basic_string< char >::compare(), std::basic_istream< CharT, Traits >::getline(), std::basic_string< CharT, Traits, Alloc >::rfind(), std::basic_filebuf< CharT, Traits >::underflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn().

template<typename ForwardIterator, typename Compare>
ForwardIterator min_element | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | Compare | comp
| ) |

Return the minimum element in a range using comparison functor.

Parameters:

  | first | Start of range.
  | last | End of range.
  | comp | Comparison functor.

Returns:
  Iterator referencing the first instance of the smallest value according to comp.

Definition at line 4607 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator min_element | ( | ForwardIterator | first,
|  | ForwardIterator | last
| ) |

Return the minimum element in a range.

Parameters:

  | first | Start of range.
  | last | End of range.

Returns:
  Iterator referencing the first instance of the smallest value.

Definition at line 4580 of file stl_algo.h.

Referenced by std::valarray< Type >::min().

template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
pair<InputIterator1, InputIterator2> mismatch | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | BinaryPredicate | __binary_pred
| ) |

Finds the places in ranges which don't match.

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 651 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
pair<InputIterator1, InputIterator2> mismatch | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | 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 614 of file stl_algobase.h.

template<typename BidirectionalIterator, typename Compare>
bool next_permutation | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | last,
|  | Compare | comp
| ) |

Permute range into the next "dictionary" ordering using comparison functor.

Parameters:

  | first | Start of range.
  | last | End of range.
  | comp |

Returns:
  False if wrapped to first permutation, true otherwise.

Treats all permutations of the range [first,last) as a set of "dictionary" sorted sequences ordered by comp. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence is the largest of the set, the smallest is generated and false returned.

Definition at line 4698 of file stl_algo.h.

References iter_swap(), and reverse().

template<typename BidirectionalIterator>
bool next_permutation | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | last
| ) |

Permute range into the next "dictionary" ordering.

Parameters:

  | first | Start of range.
  | last | End of range.

Returns:
  False if wrapped to first permutation, true otherwise.

Treats all permutations of the range as a set of "dictionary" sorted sequences. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence is the largest of the set, the smallest is generated and false returned.

Definition at line 4642 of file stl_algo.h.

References iter_swap(), and reverse().

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

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

template<typename Type>
Type std::norm | ( | const complex< Type > & |  | ) | `[inline]`

| Return z magnitude squared. Definition at line 634 of file complex. Referenced by std::complex< Type >::operator/=().

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

| Calls base.unsetf(ios_base::showbase). Definition at line 771 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 787 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 803 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 819 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 851 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 835 of file ios_base.h. References std::ios_base::unsetf().

template<typename RandomAccessIterator, typename Compare>
void nth_element | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | nth,
|  | RandomAccessIterator | 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 3736 of file stl_algo.h.

template<typename RandomAccessIterator>
void nth_element | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | nth,
|  | RandomAccessIterator | 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 3685 of file stl_algo.h.

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

| Calls base.setf(ios_base::oct, ios_base::basefield). Definition at line 901 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 1174 of file bitset.

template<typename Type>
complex<Type> operator * | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x times y. Definition at line 397 of file complex.

template<typename Type>
complex<Type> operator * | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return new complex value x times y. Definition at line 388 of file complex.

template<typename Type>
complex<Type> operator * | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x times y. Definition at line 379 of file complex.

template<typename Type>
bool operator!= | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return false if x is equal to y. Definition at line 479 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
bool operator!= | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return false if x is equal to y. Definition at line 474 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
bool operator!= | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return false if x is equal to y. Definition at line 469 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<class Type, class CharT, class Traits, class Dist>
bool operator!= | ( | const istream_iterator< Type, CharT, Traits, Dist > & | x,
|  | const istream_iterator< Type, CharT, Traits, Dist > & | y
| ) | `[inline]`

| Return false if x and y are both end or not end, or x and y are the same. Definition at line 135 of file stream_iterator.h.

template<typename Type, typename Alloc>
bool operator!= | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename Type, typename Seq>
bool operator!= | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, Seq > & | y
| ) | `[inline]`

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

template<class Key, class Compare, class Alloc>
bool operator!= | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(x == y). Definition at line 560 of file stl_set.h.

template<typename Type, typename Sequence>
bool operator!= | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, Sequence > & | y
| ) | `[inline]`

| Based on operator==. Definition at line 275 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 109 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool operator!= | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(x == y). Definition at line 551 of file stl_multiset.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator!= | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

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

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator!= | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

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

template<typename Type, typename Alloc>
bool operator!= | ( | const list< Type, Alloc > & | x,
|  | const list< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator==. Definition at line 1226 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 300 of file stl_iterator.h.

template<typename Type, typename Alloc>
bool operator!= | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename CharT, typename Traits, typename Alloc>
bool operator!= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test difference of string and C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs.compare(rhs) != 0. False otherwise.

Definition at line 2114 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator!= | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test difference of C string and string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if rhs.compare(lhs) != 0. False otherwise.

Definition at line 2102 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator!= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test difference of two strings.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs.compare(rhs) != 0. False otherwise.

Definition at line 2090 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename Type>
complex<Type> operator+ | ( | const complex< Type > & | x | ) | `[inline]`

| Return x. Definition at line 438 of file complex.

template<typename Type>
complex<Type> operator+ | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x plus y. Definition at line 337 of file complex. References std::complex< Type >::real().

template<typename Type>
complex<Type> operator+ | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return new complex value x plus y. Definition at line 328 of file complex. References std::complex< Type >::real().

template<typename Type>
complex<Type> operator+ | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x plus y. Definition at line 319 of file complex.

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 330 of file stl_iterator.h.

template<typename CharT, typename Traits, typename Alloc>
basic_string<CharT, Traits, Alloc> operator+ | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | CharT | __rhs
| ) | `[inline]`

Concatenate string and character.

Parameters:

  | lhs | First string.
  | rhs | Last string.

Returns:
  New string with lhs followed by rhs.

Definition at line 2035 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
basic_string<CharT, Traits, Alloc> operator+ | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Concatenate string and C string.

Parameters:

  | lhs | First string.
  | rhs | Last string.

Returns:
  New string with lhs followed by rhs.

Definition at line 2019 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::append().

template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits, Alloc > std::operator+ | ( | CharT | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) |

Concatenate character and string.

Parameters:

  | lhs | First string.
  | rhs | Last string.

Returns:
  New string with lhs followed by rhs.

Definition at line 656 of file basic_string.tcc.

References std::basic_string< CharT, Traits, Alloc >::size().

template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits, Alloc > std::operator+ | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) |

Concatenate C string and string.

Parameters:

  | lhs | First string.
  | rhs | Last string.

Returns:
  New string with value of lhs followed by rhs.

Definition at line 640 of file basic_string.tcc.

References std::basic_string< CharT, Traits, Alloc >::reserve(), and std::basic_string< CharT, Traits, Alloc >::size().

template<typename CharT, typename Traits, typename Alloc>
basic_string<CharT, Traits, Alloc> operator+ | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) |

Concatenate two strings.

Parameters:

  | lhs | First string.
  | rhs | Last string.

Returns:
  New string with value of lhs followed by rhs.

Definition at line 1982 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::append().

template<typename Type>
complex<Type> operator- | ( | const complex< Type > & | x | ) | `[inline]`

| Return complex negation of x. Definition at line 444 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
complex<Type> operator- | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x minus y. Definition at line 367 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
complex<Type> operator- | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return new complex value x minus y. Definition at line 358 of file complex. References std::complex< Type >::real().

template<typename Type>
complex<Type> operator- | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x minus y. Definition at line 349 of file complex.

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 324 of file stl_iterator.h.

template<typename Type>
complex<Type> operator/ | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x divided by y. Definition at line 427 of file complex.

template<typename Type>
complex<Type> operator/ | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return new complex value x divided by y. Definition at line 418 of file complex.

template<typename Type>
complex<Type> operator/ | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return new complex value x divided by y. Definition at line 409 of file complex.

template<typename Type, typename Alloc>
bool operator< | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, Alloc > & | y
| ) | `[inline]`

Vector ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 937 of file stl_vector.h.

References lexicographical_compare().

template<typename Type, typename Seq>
bool std::operator< | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, Seq > & | y
| ) | `[inline]`

Stack ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() is usually used to make the determination.

Definition at line 244 of file stl_stack.h.

template<class Key, class Compare, class Alloc>
bool std::operator< | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

Set ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 553 of file stl_set.h.

template<typename Type, typename Sequence>
bool operator< | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, Sequence > & | y
| ) | `[inline]`

Queue ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() is usually used to make the determination.

Definition at line 269 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 102 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool std::operator< | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

Multiset ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 544 of file stl_multiset.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool std::operator< | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, 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 lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 638 of file stl_multimap.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator< | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, 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 lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 655 of file stl_map.h.

template<typename Type, typename Alloc>
bool operator< | ( | const list< Type, Alloc > & | x,
|  | const list< Type, Alloc > & | y
| ) | `[inline]`

List ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 1219 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 294 of file stl_iterator.h.

template<typename Type, typename Alloc>
bool operator< | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, Alloc > & | y
| ) | `[inline]`

Deque ordering relation.

Parameters:

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

Returns:
  True iff x is lexicographically 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::lexicographical_compare() for how the determination is made.

Definition at line 1466 of file stl_deque.h.

References lexicographical_compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator< | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if C string precedes string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if lhs precedes rhs. False otherwise.

Definition at line 2151 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator< | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test if string precedes C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs precedes rhs. False otherwise.

Definition at line 2139 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator< | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if string precedes string.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs precedes rhs. False otherwise.

Definition at line 2127 of file basic_string.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 503 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 498 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 464 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 459 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 448 of file ostream.

template<typename Type, typename CharT, class Traits>
basic_ostream<CharT, Traits>& operator<< | ( | basic_ostream< CharT, Traits > & | __os,
|  | const complex< Type > & | x
| ) |

| Insertion operator for complex values. Definition at line 519 of file complex. References std::ios_base::flags(), std::basic_ios< CharT, Traits >::imbue(), std::ios_base::precision(), and std::basic_ostringstream< CharT, Traits, Alloc >::str().

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 1269 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 611 of file ostream.tcc.

References streamsize.

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 566 of file ostream.tcc.

References streamsize.

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 533 of file ostream.tcc.

References streamsize.

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 504 of file ostream.tcc.

References streamsize.

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 473 of file ostream.tcc.

References streamsize.

template<typename CharT, typename Traits, typename Alloc>
basic_ostream< CharT, Traits > & std::operator<< | ( | basic_ostream< CharT, Traits > & | __os,
|  | const basic_string< CharT, Traits, Alloc > & | str
| ) |

Write string to a stream.

Parameters:

  | os | Output stream.
  | str | String to write out.

Returns:
  Reference to the output stream.

Output characters of str into os following the same rules as for writing a C string.

Definition at line 643 of file ostream.tcc.

References streamsize.

template<typename Type, typename Alloc>
bool operator<= | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename Type, typename Seq>
bool operator<= | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, Seq > & | y
| ) | `[inline]`

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

template<class Key, class Compare, class Alloc>
bool operator<= | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(y < x). Definition at line 574 of file stl_set.h.

template<typename Type, typename Sequence>
bool operator<= | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, Sequence > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 288 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 121 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool operator<= | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(y < x). Definition at line 565 of file stl_multiset.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator<= | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

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

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator<= | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

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

template<typename Type, typename Alloc>
bool operator<= | ( | const list< Type, Alloc > & | x,
|  | const list< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 1238 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 312 of file stl_iterator.h.

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

template<typename Type, typename Alloc>
bool operator<= | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename CharT, typename Traits, typename Alloc>
bool operator<= | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if C string doesn't follow string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if lhs doesn't follow rhs. False otherwise.

Definition at line 2225 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator<= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test if string doesn't follow C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs doesn't follow rhs. False otherwise.

Definition at line 2213 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator<= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if string doesn't follow string.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs doesn't follow rhs. False otherwise.

Definition at line 2201 of file basic_string.h.

template<typename Type>
bool operator== | ( | const Type & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return true if x is equal to y. Definition at line 461 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
bool operator== | ( | const complex< Type > & | x,
|  | const Type & | y
| ) | `[inline]`

| Return true if x is equal to y. Definition at line 456 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
bool operator== | ( | const complex< Type > & | x,
|  | const complex< Type > & | y
| ) | `[inline]`

| Return true if x is equal to y. Definition at line 451 of file complex. References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type, typename CharT, typename Traits, typename Dist>
bool operator== | ( | const istream_iterator< Type, CharT, Traits, Dist > & | x,
|  | const istream_iterator< Type, CharT, Traits, Dist > & | y
| ) | `[inline]`

| Return true if x and y are both end or not end, or x and y are the same. Definition at line 128 of file stream_iterator.h.

template<typename Type, typename Alloc>
bool operator== | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, 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 920 of file stl_vector.h.

References std::vector< Type, Alloc >::begin(), std::vector< Type, Alloc >::end(), equal(), and std::vector< Type, Alloc >::size().

template<typename Type, typename Seq>
bool std::operator== | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, 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 226 of file stl_stack.h.

References std::stack< Type, Sequence >::c.

template<class Key, class Compare, class Alloc>
bool std::operator== | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

Set equality comparison.

Parameters:

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

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

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

Definition at line 536 of file stl_set.h.

template<typename Type, typename Sequence>
bool operator== | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, 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 250 of file stl_queue.h.

References std::queue< Type, 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 96 of file stl_pair.h. References std::pair< T1, T2 >::first, and std::pair< T1, T2 >::second.

template<class Key, class Compare, class Alloc>
bool std::operator== | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

Multiset equality comparison.

Parameters:

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

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

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

Definition at line 527 of file stl_multiset.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool std::operator== | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, 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 621 of file stl_multimap.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator== | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, 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 638 of file stl_map.h.

template<typename Type, typename Alloc>
bool operator== | ( | const list< Type, Alloc > & | x,
|  | const list< Type, 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 1190 of file stl_list.h.

References std::list< Type, Alloc >::begin(), and std::list< Type, 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 288 of file stl_iterator.h.

template<typename Type, typename Alloc>
bool operator== | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, 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 1448 of file stl_deque.h.

References std::deque< Type, Alloc >::begin(), std::deque< Type, Alloc >::end(), equal(), and std::deque< Type, Alloc >::size().

template<typename CharT, typename Traits, typename Alloc>
bool operator== | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test equivalence of string and C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs.compare(rhs) == 0. False otherwise.

Definition at line 2077 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator== | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test equivalence of C string and string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if rhs.compare(lhs) == 0. False otherwise.

Definition at line 2065 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator== | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test equivalence of two strings.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs.compare(rhs) == 0. False otherwise.

Definition at line 2053 of file basic_string.h.

Referenced by std::locale::operator!=().

template<typename Type, typename Alloc>
bool operator> | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 950 of file stl_vector.h. References operator>().

template<typename Type, typename Seq>
bool operator> | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, Seq > & | y
| ) | `[inline]`

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

template<class Key, class Compare, class Alloc>
bool operator> | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns y < x. Definition at line 567 of file stl_set.h. References operator>().

template<typename Type, typename Sequence>
bool operator> | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, Sequence > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 282 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 115 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool operator> | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns y < x. Definition at line 558 of file stl_multiset.h. References operator>().

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator> | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 652 of file stl_multimap.h. References operator>().

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator> | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 669 of file stl_map.h. References operator>().

template<typename Type, typename Alloc>
bool operator> | ( | const list< Type, Alloc > & | x,
|  | const list< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 1232 of file stl_list.h. References operator>().

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 306 of file stl_iterator.h.

template<typename Type, typename Alloc>
bool operator> | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename CharT, typename Traits, typename Alloc>
bool operator> | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if C string follows string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if lhs follows rhs. False otherwise.

Definition at line 2188 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator> | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test if string follows C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs follows rhs. False otherwise.

Definition at line 2176 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator> | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if string follows string.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs follows rhs. False otherwise.

Definition at line 2164 of file basic_string.h.

Referenced by operator>().

template<typename Type, typename Alloc>
bool operator>= | ( | const vector< Type, Alloc > & | x,
|  | const vector< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 962 of file stl_vector.h. References operator>=().

template<typename Type, typename Seq>
bool operator>= | ( | const stack< Type, Seq > & | x,
|  | const stack< Type, Seq > & | y
| ) | `[inline]`

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

template<class Key, class Compare, class Alloc>
bool operator>= | ( | const set< Key, Compare, Alloc > & | x,
|  | const set< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(x < y). Definition at line 581 of file stl_set.h. References operator>=().

template<typename Type, typename Sequence>
bool operator>= | ( | const queue< Type, Sequence > & | x,
|  | const queue< Type, Sequence > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 295 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 127 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool operator>= | ( | const multiset< Key, Compare, Alloc > & | x,
|  | const multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

| Returns !(x < y). Definition at line 572 of file stl_multiset.h. References operator>=().

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator>= | ( | const multimap< Key, Type, Compare, Alloc > & | x,
|  | const multimap< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 666 of file stl_multimap.h. References operator>=().

template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator>= | ( | const map< Key, Type, Compare, Alloc > & | x,
|  | const map< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 683 of file stl_map.h. References operator>=().

template<typename Type, typename Alloc>
bool operator>= | ( | const list< Type, Alloc > & | x,
|  | const list< Type, Alloc > & | y
| ) | `[inline]`

| Based on operator<. Definition at line 1244 of file stl_list.h. References operator>=().

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 318 of file stl_iterator.h.

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

template<typename Type, typename Alloc>
bool operator>= | ( | const deque< Type, Alloc > & | x,
|  | const deque< Type, Alloc > & | y
| ) | `[inline]`

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

template<typename CharT, typename Traits, typename Alloc>
bool operator>= | ( | const CharT * | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if C string doesn't precede string.

Parameters:

  | lhs | C string.
  | rhs | String.

Returns:
  True if lhs doesn't precede rhs. False otherwise.

Definition at line 2262 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
bool operator>= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const CharT * | __rhs
| ) | `[inline]`

Test if string doesn't precede C string.

Parameters:

  | lhs | String.
  | rhs | C string.

Returns:
  True if lhs doesn't precede rhs. False otherwise.

Definition at line 2250 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
bool operator>= | ( | const basic_string< CharT, Traits, Alloc > & | __lhs,
|  | const basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Test if string doesn't precede string.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Returns:
  True if lhs doesn't precede rhs. False otherwise.

Definition at line 2238 of file basic_string.h.

Referenced by operator>=().

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 691 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 686 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 650 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 645 of file istream.

template<typename Type, typename CharT, class Traits>
basic_istream<CharT, Traits>& operator>> | ( | basic_istream< CharT, Traits > & | __is,
|  | complex< Type > & | x
| ) |

| Extraction operator for complex values. Definition at line 486 of file complex. References std::basic_istream< CharT, Traits >::putback(), and std::basic_ios< CharT, Traits >::setstate().

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

References std::basic_string< CharT, Traits, Alloc >::empty(), std::ios_base::iostate, 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(), std::basic_streambuf< CharT, Traits >::sputbackc(), and std::basic_ios< CharT, Traits >::widen().

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 947 of file istream.tcc.

References std::ios_base::getloc(), std::basic_ios< CharT, Traits >::rdbuf(), std::basic_ios< CharT, Traits >::setstate(), streamsize, 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 920 of file istream.tcc.

References std::basic_ios< CharT, Traits >::rdbuf(), and std::basic_ios< CharT, Traits >::setstate().

template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & std::operator>> | ( | basic_istream< CharT, Traits > & | __is,
|  | basic_string< CharT, Traits, Alloc > & | str
| ) |

Read stream into a string.

Parameters:

  | is | Input stream.
  | str | Buffer to store into.

Returns:
  Reference to the input stream.

Stores characters from is into str until whitespace is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into str. Any previous contents of str are erased.

Definition at line 1027 of file istream.tcc.

References std::basic_string< CharT, Traits, Alloc >::append(), std::basic_string< CharT, Traits, Alloc >::erase(), std::ios_base::getloc(), std::basic_string< CharT, Traits, Alloc >::max_size(), std::basic_ios< CharT, Traits >::rdbuf(), std::basic_ios< CharT, Traits >::setstate(), streamsize, and std::ios_base::width().

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

template<typename RandomAccessIterator, typename Compare>
void partial_sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | __middle,
|  | RandomAccessIterator | 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 2302 of file stl_algo.h.

References make_heap(), and sort_heap().

template<typename RandomAccessIterator>
void partial_sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | __middle,
|  | RandomAccessIterator | 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 2261 of file stl_algo.h.

References make_heap(), and sort_heap().

template<typename InputIterator, typename RandomAccessIterator, typename Compare>
RandomAccessIterator partial_sort_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | RandomAccessIterator | __result_first,
|  | RandomAccessIterator | __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 2408 of file stl_algo.h.

References make_heap(), and sort_heap().

template<typename InputIterator, typename RandomAccessIterator>
RandomAccessIterator partial_sort_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | RandomAccessIterator | __result_first,
|  | RandomAccessIterator | __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 2344 of file stl_algo.h.

References make_heap(), and sort_heap().

template<typename InputIterator, typename OutputIterator, typename BinaryOperation>
OutputIterator partial_sum | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result,
|  | BinaryOperation | __binary_op
| ) |

Return list of partial sums.

Accumulates the values in the range [first,last) using operator+(). As each successive input value is added into the total, that partial sum is written to result. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.

Parameters:

  | first | Start of input range.
  | last | End of input range.
  | result | Output to write sums to.

Returns:
  Iterator pointing just beyond the values written to result.

Definition at line 235 of file stl_numeric.h.

template<typename InputIterator, typename OutputIterator>
OutputIterator partial_sum | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result
| ) |

Return list of partial sums.

Accumulates the values in the range [first,last) using operator+(). As each successive input value is added into the total, that partial sum is written to result. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.

Parameters:

  | first | Start of input range.
  | last | End of input range.
  | result | Output to write sums to.

Returns:
  Iterator pointing just beyond the values written to result.

Definition at line 199 of file stl_numeric.h.

template<typename ForwardIterator, typename Predicate>
ForwardIterator partition | ( | ForwardIterator | first,
|  | ForwardIterator | 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 1860 of file stl_algo.h.

template<typename Type>
complex< Type > std::polar | ( | const Type & | ,
|  | const Type & | = `0`
| ) | `[inline]`

| Return complex with magnitude rho and angle theta. Definition at line 641 of file complex. References cos(), and sin(). Referenced by pow().

template<typename RandomAccessIterator, typename Compare>
void pop_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last,
|  | Compare | comp
| ) | `[inline]`

Pop an element off a heap using comparison functor.

Parameters:

  | first | Start of heap.
  | last | End of heap.
  | comp | Comparison functor to use.

This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap. Comparisons are made using comp.

Definition at line 319 of file stl_heap.h.

template<typename RandomAccessIterator>
void pop_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last
| ) | `[inline]`

Pop an element off a heap.

Parameters:

  | first | Start of heap.
  | last | End of heap.

This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap.

Definition at line 253 of file stl_heap.h.

Referenced by std::priority_queue< Type, Sequence, Compare >::pop(), and sort_heap().

template<typename Type>
complex< Type > std::pow | ( | const Type & | ,
|  | const complex< Type > & |
| ) | `[inline]`

| Return x to the y'th power. Definition at line 922 of file complex. References std::complex< Type >::imag(), log(), polar(), pow(), and std::complex< Type >::real().

template<typename Type>
complex< Type > std::pow | ( | const complex< Type > & | ,
|  | const complex< Type > & |
| ) | `[inline]`

| Return x to the y'th power. Definition at line 917 of file complex.

template<typename Type>
complex< Type > std::pow | ( | const complex< Type > & | ,
|  | const Type & |
| ) |

| Return x to the y'th power. Definition at line 889 of file complex. References exp(), std::complex< Type >::imag(), log(), polar(), pow(), and std::complex< Type >::real().

template<typename Type>
complex< Type > std::pow | ( | const complex< Type > & | ,
|  | int |
| ) | `[inline]`

| Return complex cosine of z. Definition at line 882 of file complex. Referenced by pow().

template<typename BidirectionalIterator, typename Compare>
bool prev_permutation | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | last,
|  | Compare | comp
| ) |

Permute range into the previous "dictionary" ordering using comparison functor.

Parameters:

  | first | Start of range.
  | last | End of range.
  | comp |

Returns:
  False if wrapped to last permutation, true otherwise.

Treats all permutations of the range [first,last) as a set of "dictionary" sorted sequences ordered by comp. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.

Definition at line 4809 of file stl_algo.h.

References iter_swap(), and reverse().

template<typename BidirectionalIterator>
bool prev_permutation | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | last
| ) |

Permute range into the previous "dictionary" ordering.

Parameters:

  | first | Start of range.
  | last | End of range.

Returns:
  False if wrapped to last permutation, true otherwise.

Treats all permutations of the range as a set of "dictionary" sorted sequences. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.

Definition at line 4753 of file stl_algo.h.

References iter_swap(), and reverse().

template<typename RandomAccessIterator, typename Compare>
void push_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last,
|  | Compare | comp
| ) | `[inline]`

Push an element onto a heap using comparison functor.

Parameters:

  | first | Start of heap.
  | last | End of heap + element.
  | comp | Comparison functor.

This operation pushes the element at last-1 onto the valid heap over the range [first,last-1). After completion, [first,last) is a valid heap. Compare operations are performed using comp.

Definition at line 189 of file stl_heap.h.

template<typename RandomAccessIterator>
void push_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last
| ) | `[inline]`

Push an element onto a heap.

Parameters:

  | first | Start of heap.
  | last | End of heap + element.

This operation pushes the element at last-1 onto the valid heap over the range [first,last-1). After completion, [first,last) is a valid heap.

Definition at line 141 of file stl_heap.h.

Referenced by std::priority_queue< Type, Sequence, Compare >::push().

template<typename RandomAccessIterator, typename RandomNumberGenerator>
void random_shuffle | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 1766 of file stl_algo.h.

References iter_swap().

template<typename RandomAccessIterator>
void random_shuffle | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 1739 of file stl_algo.h.

References iter_swap().

template<typename ForwardIterator, typename Type>
ForwardIterator remove | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | const Type & | 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 1100 of file stl_algo.h.

References find(), and remove_copy().

template<typename InputIterator, typename OutputIterator, typename Type>
OutputIterator remove_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result,
|  | const Type & | 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 1025 of file stl_algo.h.

Referenced by remove().

template<typename InputIterator, typename OutputIterator, typename Predicate>
OutputIterator remove_copy_if | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __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 1062 of file stl_algo.h.

Referenced by remove_if().

template<typename ForwardIterator, typename Predicate>
ForwardIterator remove_if | ( | ForwardIterator | first,
|  | ForwardIterator | 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 1137 of file stl_algo.h.

References find_if(), and remove_copy_if().

template<typename ForwardIterator, typename Type>
void replace | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | const Type & | __old_value,
|  | const Type & | 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 844 of file stl_algo.h.

Referenced by std::basic_string< char >::append(), std::basic_string< char >::assign(), std::basic_string< char >::insert(), and std::basic_string< char >::replace().

template<typename InputIterator, typename OutputIterator, typename Type>
OutputIterator replace_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result,
|  | const Type & | __old_value,
|  | const Type & | 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 908 of file stl_algo.h.

template<typename InputIterator, typename OutputIterator, typename Predicate, typename Type>
OutputIterator replace_copy_if | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __result,
|  | Predicate | pred,
|  | const Type & | 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 942 of file stl_algo.h.

template<typename ForwardIterator, typename Predicate, typename Type>
void replace_if | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | Predicate | pred,
|  | const Type & | 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 875 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.

References std::ios_base::fmtflags.

template<typename Type>
void return_temporary_buffer | ( | Type * | __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 121 of file memory.

template<typename BidirectionalIterator>
void reverse | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | 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 1455 of file stl_algo.h.

Referenced by next_permutation(), prev_permutation(), and std::list< Type, Allocator >::reverse().

template<typename BidirectionalIterator, typename OutputIterator>
OutputIterator reverse_copy | ( | BidirectionalIterator | first,
|  | BidirectionalIterator | last,
|  | OutputIterator | __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 1481 of file stl_algo.h.

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

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

template<typename ForwardIterator>
void rotate | ( | ForwardIterator | first,
|  | ForwardIterator | __middle,
|  | ForwardIterator | 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 1681 of file stl_algo.h.

template<typename ForwardIterator, typename OutputIterator>
OutputIterator rotate_copy | ( | ForwardIterator | first,
|  | ForwardIterator | __middle,
|  | ForwardIterator | last,
|  | OutputIterator | __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 1714 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 918 of file ios_base.h. References std::ios_base::setf().

template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
ForwardIterator1 search | ( | ForwardIterator1 | first1,
|  | ForwardIterator1 | last1,
|  | ForwardIterator2 | first2,
|  | ForwardIterator2 | last2,
|  | BinaryPredicate | 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 548 of file stl_algo.h.

template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator1 search | ( | ForwardIterator1 | first1,
|  | ForwardIterator1 | last1,
|  | ForwardIterator2 | first2,
|  | ForwardIterator2 | 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 476 of file stl_algo.h.

References find().

template<typename ForwardIterator, typename Integer, typename Type, typename BinaryPredicate>
ForwardIterator search_n | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | Integer | count,
|  | const Type & | __val,
|  | BinaryPredicate | __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 678 of file stl_algo.h.

template<typename ForwardIterator, typename Integer, typename Type>
ForwardIterator search_n | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | Integer | count,
|  | const Type & | __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 625 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 763 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 779 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 795 of file ios_base.h. References std::ios_base::setf().

template<typename Type>
complex< Type > std::sin | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex sine of z. Definition at line 771 of file complex. References std::complex< Type >::__rep(). Referenced by polar().

template<typename Type>
complex< Type > std::sinh | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex hyperbolic sine of z. Definition at line 795 of file complex. References std::complex< Type >::__rep().

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

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

template<typename RandomAccessIterator, typename Compare>
void sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 2577 of file stl_algo.h.

template<typename RandomAccessIterator>
void sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 2543 of file stl_algo.h.

template<typename RandomAccessIterator, typename Compare>
void sort_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last,
|  | Compare | comp
| ) |

Sort a heap using comparison functor.

Parameters:

  | first | Start of heap.
  | last | End of heap.
  | comp | Comparison functor to use.

This operation sorts the valid heap in the range [first,last). Comparisons are made using comp.

Definition at line 448 of file stl_heap.h.

References pop_heap().

template<typename RandomAccessIterator>
void sort_heap | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | last
| ) |

Sort a heap.

Parameters:

  | first | Start of heap.
  | last | End of heap.

This operation sorts the valid heap in the range [first,last).

Definition at line 422 of file stl_heap.h.

References pop_heap().

Referenced by partial_sort(), and partial_sort_copy().

template<typename Type>
complex< Type > std::sqrt | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex square root of z. Definition at line 833 of file complex. References std::complex< Type >::__rep().

template<typename ForwardIterator, typename Predicate>
ForwardIterator stable_partition | ( | ForwardIterator | first,
|  | ForwardIterator | 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 1971 of file stl_algo.h.

template<typename RandomAccessIterator, typename Compare>
void stable_sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 3644 of file stl_algo.h.

template<typename RandomAccessIterator>
void stable_sort | ( | RandomAccessIterator | first,
|  | RandomAccessIterator | 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 3603 of file stl_algo.h.

template<typename Type, typename Alloc>
void swap | ( | vector< Type, Alloc > & | x,
|  | vector< Type, Alloc > & | y
| ) | `[inline]`

| See std::vector::swap(). Definition at line 968 of file stl_vector.h. References std::vector< Type, Alloc >::swap(), and swap().

template<class Key, class Compare, class Alloc>
void swap | ( | set< Key, Compare, Alloc > & | x,
|  | set< Key, Compare, Alloc > & | y
| ) | `[inline]`

| See std::set::swap(). Definition at line 588 of file stl_set.h. References std::set< Key, Compare, Alloc >::swap(), and swap().

template<class Key, class Compare, class Alloc>
void swap | ( | multiset< Key, Compare, Alloc > & | x,
|  | multiset< Key, Compare, Alloc > & | y
| ) | `[inline]`

| See std::multiset::swap(). Definition at line 579 of file stl_multiset.h. References std::multiset< Key, Compare, Alloc >::swap(), and swap().

template<typename Key, typename Type, typename Compare, typename Alloc>
void swap | ( | multimap< Key, Type, Compare, Alloc > & | x,
|  | multimap< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| See std::multimap::swap(). Definition at line 673 of file stl_multimap.h. References std::multimap< Key, Type, Compare, Alloc >::swap(), and swap().

template<typename Key, typename Type, typename Compare, typename Alloc>
void swap | ( | map< Key, Type, Compare, Alloc > & | x,
|  | map< Key, Type, Compare, Alloc > & | y
| ) | `[inline]`

| See std::map::swap(). Definition at line 690 of file stl_map.h. References std::map< Key, Type, Compare, Alloc >::swap(), and swap().

template<typename Type, typename Alloc>
void swap | ( | list< Type, Alloc > & | x,
|  | list< Type, Alloc > & | y
| ) | `[inline]`

| See std::list::swap(). Definition at line 1250 of file stl_list.h. References std::list< Type, Alloc >::swap(), and swap().

template<typename Type, typename Alloc>
void swap | ( | deque< Type, Alloc > & | x,
|  | deque< Type, Alloc > & | y
| ) | `[inline]`

| See std::deque::swap(). Definition at line 1502 of file stl_deque.h. References std::deque< Type, Alloc >::swap().

template<typename Type>
void swap | ( | Type & | a,
|  | Type & | __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 125 of file stl_algobase.h.

template<typename CharT, typename Traits, typename Alloc>
void swap | ( | basic_string< CharT, Traits, Alloc > & | __lhs,
|  | basic_string< CharT, Traits, Alloc > & | __rhs
| ) | `[inline]`

Swap contents of two strings.

Parameters:

  | lhs | First string.
  | rhs | Second string.

Exchanges the contents of lhs and rhs in constant time.

Definition at line 2275 of file basic_string.h.

Referenced by __gnu_debug::Safe_sequence_base::M_swap(), std::list< Type, Alloc >::sort(), std::vector< qual, qualAllocator >::swap(), std::set< Key, Compare, Allocator >::swap(), std::multiset< Key, Compare, Allocator >::swap(), std::multimap< Key, Type, Compare, Allocator >::swap(), std::map< Key, Type, Compare, Allocator >::swap(), swap(), std::list< Type, Allocator >::swap(), and std::deque< Type, Allocator >::swap().

template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator2 swap_ranges | ( | ForwardIterator1 | first1,
|  | ForwardIterator1 | last1,
|  | ForwardIterator2 | 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 739 of file stl_algo.h.

References iter_swap().

template<typename Type>
complex< Type > std::tan | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex tangent of z. Definition at line 854 of file complex. References std::complex< Type >::__rep().

template<typename Type>
complex< Type > std::tanh | ( | const complex< Type > & |  | ) | `[inline]`

| Return complex hyperbolic tangent of z. Definition at line 875 of file complex. References std::complex< Type >::__rep().

void terminate | ( |  | ) |

| The runtime will call this function if exception handling must be abandoned for any reason. It can also be called by the user.

template<typename CharT>
CharT std::tolower | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4557 of file locale_facets.h.

template<typename CharT>
CharT std::toupper | ( | CharT | c,
|  | const locale & | __loc
| ) | `[inline]`

| Convenience interface to ctype.is(). Definition at line 4552 of file locale_facets.h.

template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename BinaryOperation>
OutputIterator transform | ( | InputIterator1 | first1,
|  | InputIterator1 | last1,
|  | InputIterator2 | first2,
|  | OutputIterator | __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 813 of file stl_algo.h.

template<typename InputIterator, typename OutputIterator, typename UnaryOperation>
OutputIterator transform | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __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 778 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 InputIterator, typename ForwardIterator>
ForwardIterator uninitialized_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | ForwardIterator | __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 107 of file stl_uninitialized.h.

Referenced by std::deque< Type, Allocator >::deque(), std::vector< Type, Alloc >::operator=(), and std::vector< qual, qualAllocator >::vector().

template<typename ForwardIterator, typename Type>
void uninitialized_fill | ( | ForwardIterator | first,
|  | ForwardIterator | last,
|  | const Type & | 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 169 of file stl_uninitialized.h.

template<typename ForwardIterator, typename Size, typename Type>
ForwardIterator uninitialized_fill_n | ( | ForwardIterator | first,
|  | Size | n,
|  | const Type & | 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 215 of file stl_uninitialized.h.

Referenced by std::vector< qual, qualAllocator >::vector().

template<typename ForwardIterator, typename BinaryPredicate>
ForwardIterator unique | ( | ForwardIterator | first,
|  | ForwardIterator | 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 1382 of file stl_algo.h.

References adjacent_find().

template<typename ForwardIterator>
ForwardIterator unique | ( | ForwardIterator | first,
|  | ForwardIterator | 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 1343 of file stl_algo.h.

References adjacent_find().

template<typename InputIterator, typename OutputIterator, typename BinaryPredicate>
OutputIterator unique_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __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 1310 of file stl_algo.h.

template<typename InputIterator, typename OutputIterator>
OutputIterator unique_copy | ( | InputIterator | first,
|  | InputIterator | last,
|  | OutputIterator | __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 1274 of file stl_algo.h.

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

| Calls base.setf(ios_base::unitbuf). Definition at line 843 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 827 of file ios_base.h. References std::ios_base::setf().

template<typename Facet>
const Facet & std::use_facet | ( | const locale & | __loc | ) | `[inline]`

Return a facet.

use_facet looks for and returns a reference to a facet of type Facet where Facet is the template parameter. If has_facet(locale) is true, there is a suitable facet to return. It throws std::bad_cast if the locale doesn't contain a facet of type Facet.

Parameters:

  | Facet | The facet type to access.
  | locale | The locale to use.

Returns:
  Reference to facet of type Facet.

Exceptions:

  | std::bad_cast | if locale doesn't contain a facet of type Facet.

Definition at line 107 of file locale_facets.tcc.

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 1003 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 62 of file globals_io.cc. Referenced by std::ios_base::sync_with_stdio().

istream std::cin

| Linked to standard input. Definition at line 60 of file globals_io.cc. Referenced by std::ios_base::sync_with_stdio().

ostream std::clog

| Linked to standard error (buffered). Definition at line 63 of file globals_io.cc. Referenced by std::ios_base::sync_with_stdio().

ostream std::cout

| Linked to standard output. Definition at line 61 of file globals_io.cc. Referenced by std::ios_base::sync_with_stdio().