std Namespace Reference


Classes

class  strstreambuf
class  istrstream
class  ostrstream
class  strstream
class  allocator< void >
 allocator<void> specialization. More...
class  allocator
 The "standard" allocator, as per [20.4]. More...
class  basic_ios
 Virtual base class for all stream classes. More...
class  basic_string
 Managing sequences of characters and character-like objects. More...
struct  char_traits
 Basis for explicit traits specializations. More...
struct  char_traits< char >
 21.1.3.1 char_traits specializations More...
struct  __truth_type
struct  __truth_type< true >
struct  __traitor
struct  __are_same
struct  __are_same< _Tp, _Tp >
struct  __enable_if
struct  __enable_if< _Tp, true >
struct  __is_void
struct  __is_void< void >
struct  __is_integer
struct  __is_integer< bool >
struct  __is_integer< char >
struct  __is_integer< signed char >
struct  __is_integer< unsigned char >
struct  __is_integer< short >
struct  __is_integer< unsigned short >
struct  __is_integer< int >
struct  __is_integer< unsigned int >
struct  __is_integer< long >
struct  __is_integer< unsigned long >
struct  __is_integer< long long >
struct  __is_integer< unsigned long long >
struct  __is_floating
struct  __is_floating< float >
struct  __is_floating< double >
struct  __is_floating< long double >
struct  __is_pointer
struct  __is_pointer< _Tp * >
struct  __is_normal_iterator
struct  __is_arithmetic
struct  __is_fundamental
struct  __is_scalar
struct  __is_pod
struct  __is_empty
class  gslice
 Class defining multi-dimensional subset of an array. More...
class  gslice_array
 Reference to multi-dimensional subset of an array. More...
class  indirect_array
 Reference to arbitrary subset of an array. More...
class  ios_base
 The base of the I/O class hierarchy. More...
class  locale
 Container class for localization functionality. More...
struct  __pad
class  __ctype_abstract_base
 Common base for ctype facet. More...
class  ctype
 Template ctype facet. More...
class  ctype< char >
 The ctype<char> specialization. More...
class  ctype_byname
 class ctype_byname [22.2.1.2]. More...
class  __num_base
struct  __numpunct_cache
class  numpunct
 Numpunct facet. More...
class  numpunct_byname
 class numpunct_byname [22.2.3.2]. More...
class  num_get
 Facet for parsing number strings. More...
class  num_put
 Facet for converting numbers to strings. More...
class  collate
 Facet for localized string comparison. More...
class  collate_byname
 class collate_byname [22.2.4.2]. More...
class  time_base
 Time format ordering data. More...
struct  __timepunct_cache
class  __timepunct
class  time_get
 Facet for parsing dates and times. More...
class  time_get_byname
 class time_get_byname [22.2.5.2]. More...
class  time_put
 Facet for outputting dates and times. More...
class  time_put_byname
 class time_put_byname [22.2.5.4]. More...
class  money_base
 Money format ordering data. More...
struct  __moneypunct_cache
class  moneypunct
 Facet for formatting data for money amounts. More...
class  moneypunct_byname
 class moneypunct_byname [22.2.6.4]. More...
class  money_get
 Facet for parsing monetary amounts. More...
class  money_put
 Facet for outputting monetary amounts. More...
struct  messages_base
 Messages facet base class providing catalog typedef. More...
class  messages
 Facet for handling message catalogs. More...
class  messages_byname
 class messages_byname [22.2.7.2]. More...
struct  __use_cache
struct  __use_cache< __numpunct_cache< _CharT > >
struct  __use_cache< __moneypunct_cache< _CharT, _Intl > >
struct  __to_unsigned_type
struct  __to_unsigned_type< long >
class  mask_array
 Reference to selected subset of an array. More...
class  fpos
 Class representing stream positions. More...
class  slice
 Class defining one-dimensional subset of an array. More...
class  slice_array
 Reference to one-dimensional subset of an array. More...
struct  __iter_swap
struct  __iter_swap< true >
struct  __copy
struct  __copy< _BoolType, random_access_iterator_tag >
struct  __copy< true, random_access_iterator_tag >
struct  __copy_normal
struct  __copy_normal< true, false >
struct  __copy_normal< false, true >
struct  __copy_normal< true, true >
struct  __copy_backward
struct  __copy_backward< _BoolType, random_access_iterator_tag >
struct  __copy_backward< true, random_access_iterator_tag >
struct  __copy_backward_normal
struct  __copy_backward_normal< true, false >
struct  __copy_backward_normal< false, true >
struct  __copy_backward_normal< true, true >
struct  __fill
struct  __fill< true >
struct  __fill_n
struct  __fill_n< true >
struct  unary_function
struct  binary_function
struct  plus
 One of the math functors. More...
struct  minus
 One of the math functors. More...
struct  multiplies
 One of the math functors. More...
struct  divides
 One of the math functors. More...
struct  modulus
 One of the math functors. More...
struct  negate
 One of the math functors. More...
struct  equal_to
 One of the comparison functors. More...
struct  not_equal_to
 One of the comparison functors. More...
struct  greater
 One of the comparison functors. More...
struct  less
 One of the comparison functors. More...
struct  greater_equal
 One of the comparison functors. More...
struct  less_equal
 One of the comparison functors. More...
struct  logical_and
 One of the Boolean operations functors. More...
struct  logical_or
 One of the Boolean operations functors. More...
struct  logical_not
 One of the Boolean operations functors. More...
class  unary_negate
 One of the negation functors. More...
class  binary_negate
 One of the negation functors. More...
class  binder1st
 One of the binder functors. More...
class  binder2nd
 One of the binder functors. More...
class  pointer_to_unary_function
 One of the adaptors for function pointers. More...
class  pointer_to_binary_function
 One of the adaptors for function pointers. More...
struct  _Identity
struct  _Select1st
struct  _Select2nd
class  mem_fun_t
 One of the adaptors for member pointers. More...
class  const_mem_fun_t
 One of the adaptors for member pointers. More...
class  mem_fun_ref_t
 One of the adaptors for member pointers. More...
class  const_mem_fun_ref_t
 One of the adaptors for member pointers. More...
class  mem_fun1_t
 One of the adaptors for member pointers. More...
class  const_mem_fun1_t
 One of the adaptors for member pointers. More...
class  mem_fun1_ref_t
 One of the adaptors for member pointers. More...
class  const_mem_fun1_ref_t
 One of the adaptors for member pointers. More...
class  reverse_iterator
class  back_insert_iterator
 Turns assignment into insertion. More...
class  front_insert_iterator
 Turns assignment into insertion. More...
class  insert_iterator
 Turns assignment into insertion. More...
struct  input_iterator_tag
 Marking input iterators. More...
struct  output_iterator_tag
 Marking output iterators. More...
struct  forward_iterator_tag
 Forward iterators support a superset of input iterator operations. More...
struct  bidirectional_iterator_tag
struct  random_access_iterator_tag
struct  iterator
 Common iterator class. More...
struct  iterator_traits
struct  iterator_traits< _Tp * >
struct  iterator_traits< const _Tp * >
struct  pair
 pair holds two objects of arbitrary type. More...
class  queue
 A standard container giving FIFO behavior. More...
class  priority_queue
 A standard container automatically sorting its contents. More...
class  raw_storage_iterator
class  stack
 A standard container giving FILO behavior. More...
class  _Temporary_buffer
struct  _Rb_tree_node_base
struct  _Rb_tree_node
struct  _Rb_tree_iterator
struct  _Rb_tree_const_iterator
class  _Rb_tree
class  istream_iterator
 Provides input iterator semantics for streams. More...
class  ostream_iterator
 Provides output iterator semantics for streams. More...
class  istreambuf_iterator
 Provides input iterator semantics for streambufs. More...
class  ostreambuf_iterator
 Provides output iterator semantics for streambufs. More...
class  _GBase
class  _GBase< _Array< _Tp > >
struct  _GClos< _Expr, _Dom >
struct  _GClos< _ValArray, _Tp >
class  _IBase
struct  _IClos< _Expr, _Dom >
struct  _IClos< _ValArray, _Tp >
class  _Expr
struct  _Array_default_ctor
struct  _Array_default_ctor< _Tp, true >
struct  _Array_init_ctor
struct  _Array_init_ctor< _Tp, true >
struct  _Array_copy_ctor
struct  _Array_copy_ctor< _Tp, true >
struct  _Array_copier
struct  _Array_copier< _Tp, true >
struct  _Array
struct  __abs
struct  __cos
struct  __acos
struct  __cosh
struct  __sin
struct  __asin
struct  __sinh
struct  __tan
struct  __atan
struct  __tanh
struct  __exp
struct  __log
struct  __log10
struct  __sqrt
struct  __unary_plus
struct  __negate
struct  __bitwise_not
struct  __plus
struct  __minus
struct  __multiplies
struct  __divides
struct  __modulus
struct  __bitwise_xor
struct  __bitwise_and
struct  __bitwise_or
struct  __shift_left
struct  __shift_right
struct  __logical_and
struct  __logical_or
struct  __logical_not
struct  __equal_to
struct  __not_equal_to
struct  __less
struct  __greater
struct  __less_equal
struct  __greater_equal
struct  __atan2
struct  __pow
struct  __fun
struct  __fun< __logical_not, _Tp >
struct  __fun< __logical_and, _Tp >
struct  __fun< __logical_or, _Tp >
struct  __fun< __less, _Tp >
struct  __fun< __greater, _Tp >
struct  __fun< __less_equal, _Tp >
struct  __fun< __greater_equal, _Tp >
struct  __fun< __equal_to, _Tp >
struct  __fun< __not_equal_to, _Tp >
class  _FunBase
struct  _ValFunClos< _Expr, _Dom >
struct  _ValFunClos< _ValArray, _Tp >
struct  _RefFunClos< _Expr, _Dom >
struct  _RefFunClos< _ValArray, _Tp >
class  _UnBase
struct  _UnClos< _Oper, _Expr, _Dom >
struct  _UnClos< _Oper, _ValArray, _Tp >
class  _BinBase
class  _BinBase2
class  _BinBase1
struct  _BinClos< _Oper, _Expr, _Expr, _Dom1, _Dom2 >
struct  _BinClos< _Oper, _ValArray, _ValArray, _Tp, _Tp >
struct  _BinClos< _Oper, _ValArray, _Constant, _Tp, _Tp >
struct  _BinClos< _Oper, _Constant, _ValArray, _Tp, _Tp >
class  _SBase
class  _SBase< _Array< _Tp > >
struct  _SClos< _Expr, _Dom >
struct  _SClos< _ValArray, _Tp >
struct  complex
struct  _Norm_helper
struct  _Norm_helper< true >
struct  complex< float >
struct  complex< double >
struct  complex< long double >
class  exception
 Base class for all library exceptions. More...
class  bad_exception
class  codecvt< _InternT, _ExternT, encoding_state >
 codecvt<InternT, _ExternT, encoding_state> specialization. More...
struct  __alloc_swap
struct  __alloc_swap< _Alloc, false >
class  basic_filebuf
 The actual work of input and output (for files). More...
class  basic_ifstream
 Controlling input for files. More...
class  basic_ofstream
 Controlling output for files. More...
class  basic_fstream
 Controlling intput and output for files. More...
class  __basic_file< char >
struct  _Resetiosflags
struct  _Setiosflags
struct  _Setbase
struct  _Setfill
struct  _Setprecision
struct  _Setw
class  basic_istream
 Controlling input. More...
class  basic_iostream
 Merging istream and ostream capabilities. More...
struct  __numeric_limits_base
 Part of std::numeric_limits. More...
struct  numeric_limits
 Properties of fundamental types. More...
struct  numeric_limits< bool >
 numeric_limits<bool> specialization. More...
struct  numeric_limits< char >
 numeric_limits<char> specialization. More...
struct  numeric_limits< signed char >
 numeric_limits<signed char> specialization. More...
struct  numeric_limits< unsigned char >
 numeric_limits<unsigned char> specialization. More...
struct  numeric_limits< wchar_t >
 numeric_limits<wchar_t> specialization. More...
struct  numeric_limits< short >
 numeric_limits<short> specialization. More...
struct  numeric_limits< unsigned short >
 numeric_limits<unsigned short> specialization. More...
struct  numeric_limits< int >
 numeric_limits<int> specialization. More...
struct  numeric_limits< unsigned int >
 numeric_limits<unsigned int> specialization. More...
struct  numeric_limits< long >
 numeric_limits<long> specialization. More...
struct  numeric_limits< unsigned long >
 numeric_limits<unsigned long> specialization. More...
struct  numeric_limits< long long >
 numeric_limits<long long> specialization. More...
struct  numeric_limits< unsigned long long >
 numeric_limits<unsigned long long> specialization. More...
struct  numeric_limits< float >
 numeric_limits<float> specialization. More...
struct  numeric_limits< double >
 numeric_limits<double> specialization. More...
struct  numeric_limits< long double >
 numeric_limits<long double> specialization. More...
struct  auto_ptr_ref
class  auto_ptr
 A simple smart pointer providing strict ownership semantics. More...
class  bad_alloc
 Exception possibly thrown by new. More...
struct  nothrow_t
class  basic_ostream
 Controlling output. More...
class  basic_stringbuf
 The actual work of input and output (for std::string). More...
class  basic_istringstream
 Controlling input for std::string. More...
class  basic_ostringstream
 Controlling output for std::string. More...
class  basic_stringstream
 Controlling input and output for std::string. More...
class  logic_error
 One of two subclasses of exception. More...
class  domain_error
class  invalid_argument
class  length_error
class  out_of_range
class  runtime_error
 One of two subclasses of exception. More...
class  range_error
class  overflow_error
class  underflow_error
class  basic_streambuf
 The actual work of input and output (interface). More...
class  type_info
 Part of RTTI. More...
class  bad_cast
 Thrown during incorrect typecasting. More...
class  bad_typeid
class  valarray
 Smart array designed to support numeric processing. More...
struct  __is_normal_iterator< __gnu_cxx::__normal_iterator< _Iterator, _Container > >
struct  _BinClos< _Oper, _Expr, _ValArray, _Dom, typename _Dom::value_type >
struct  _BinClos< _Oper, _ValArray, _Expr, typename _Dom::value_type, _Dom >
struct  _BinClos< _Oper, _Expr, _Constant, _Dom, typename _Dom::value_type >
struct  _BinClos< _Oper, _Constant, _Expr, typename _Dom::value_type, _Dom >
class  insert_iterator< __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqKey, _Alloc > >
class  insert_iterator< __gnu_cxx::hash_multimap< _Key, _Tp, _HashFn, _EqKey, _Alloc > >
class  insert_iterator< __gnu_cxx::hash_set< _Value, _HashFcn, _EqualKey, _Alloc > >
class  insert_iterator< __gnu_cxx::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc > >
struct  char_traits< __gnu_cxx::character< V, I, S > >
 char_traits<__gnu_cxx::character> specialization. More...
class  insert_iterator< __gnu_cxx::slist< _Tp, _Alloc > >

Namespaces

namespace  rel_ops
 The generated relational operators are sequestered here.
namespace  tr1
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)
template<class _Traits>
basic_istream< char, _Traits > & operator>> (basic_istream< char, _Traits > &__in, signed char &__c)
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__in, _CharT *__s)
 Character string extractors.
template<>
basic_istream< char > & operator>> (basic_istream< char > &__in, char *__s)
template<class _Traits>
basic_istream< char, _Traits > & operator>> (basic_istream< char, _Traits > &__in, unsigned char *__s)
template<class _Traits>
basic_istream< char, _Traits > & operator>> (basic_istream< char, _Traits > &__in, signed char *__s)
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)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__out, char __c)
template<class _Traits>
basic_ostream< char, _Traits > & operator<< (basic_ostream< char, _Traits > &__out, signed char __c)
template<class _Traits>
basic_ostream< char, _Traits > & operator<< (basic_ostream< char, _Traits > &__out, unsigned char __c)
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)
template<class _Traits>
basic_ostream< char, _Traits > & operator<< (basic_ostream< char, _Traits > &__out, const char *__s)
template<class _Traits>
basic_ostream< char, _Traits > & operator<< (basic_ostream< char, _Traits > &__out, const signed char *__s)
template<class _Traits>
basic_ostream< char, _Traits > & operator<< (basic_ostream< char, _Traits > &__out, const unsigned char *__s)
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)
template<typename _IteratorL, typename _IteratorR>
bool operator== (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
bool operator< (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
bool operator!= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
bool operator> (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
bool operator<= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
bool operator>= (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _IteratorL, typename _IteratorR>
reverse_iterator< _IteratorL
>::difference_type 
operator- (const reverse_iterator< _IteratorL > &__x, const reverse_iterator< _IteratorR > &__y)
template<typename _Tp>
complex< _Tp > operator+ (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return new complex value x plus y.
template<typename _Tp>
complex< _Tp > operator+ (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
complex< _Tp > operator+ (const _Tp &__x, const complex< _Tp > &__y)
template<typename _Tp>
complex< _Tp > operator- (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return new complex value x minus y.
template<typename _Tp>
complex< _Tp > operator- (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
complex< _Tp > operator- (const _Tp &__x, const complex< _Tp > &__y)
template<typename _Tp>
complex< _Tp > operator * (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return new complex value x times y.
template<typename _Tp>
complex< _Tp > operator * (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
complex< _Tp > operator * (const _Tp &__x, const complex< _Tp > &__y)
template<typename _Tp>
complex< _Tp > operator/ (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return new complex value x divided by y.
template<typename _Tp>
complex< _Tp > operator/ (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
complex< _Tp > operator/ (const _Tp &__x, const complex< _Tp > &__y)
template<typename _Tp>
bool operator== (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return true if x is equal to y.
template<typename _Tp>
bool operator== (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
bool operator== (const _Tp &__x, const complex< _Tp > &__y)
template<typename _Tp>
bool operator!= (const complex< _Tp > &__x, const complex< _Tp > &__y)
 Return false if x is equal to y.
template<typename _Tp>
bool operator!= (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp>
bool operator!= (const _Tp &__x, const complex< _Tp > &__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.

istream cin
 Linked to standard input.
ostream cout
 Linked to standard output.
ostream cerr
 Linked to standard error (unbuffered).
ostream clog
 Linked to standard error (buffered).

Typedefs

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_tstreampos
 File position for char streams.
typedef fpos< mbstate_twstreampos
 File position for wchar_t streams.
typedef basic_string< char > string
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 __gthread_mutex_t __c_lock
typedef FILE __c_file
typedef __locale_t __c_locale
typedef basic_ios< char > ios
 
typedef basic_streambuf< char > streambuf
 
typedef basic_istream< char > istream
 
typedef basic_ostream< char > ostream
 
typedef basic_iostream< char > iostream
 
typedef basic_stringbuf< char > stringbuf
 
typedef basic_istringstream<
char > 
istringstream
 
typedef basic_ostringstream<
char > 
ostringstream
 
typedef basic_stringstream<
char > 
stringstream
 
typedef basic_filebuf< char > filebuf
 
typedef basic_ifstream< char > ifstream
 
typedef basic_ofstream< char > ofstream
 
typedef basic_fstream< char > fstream
 
typedef void(*) new_handler ()

Enumerations

enum  _Ios_Fmtflags {
  _S_boolalpha = 1L << 0, _S_dec = 1L << 1, _S_fixed = 1L << 2, _S_hex = 1L << 3,
  _S_internal = 1L << 4, _S_left = 1L << 5, _S_oct = 1L << 6, _S_right = 1L << 7,
  _S_scientific = 1L << 8, _S_showbase = 1L << 9, _S_showpoint = 1L << 10, _S_showpos = 1L << 11,
  _S_skipws = 1L << 12, _S_unitbuf = 1L << 13, _S_uppercase = 1L << 14, _S_adjustfield = _S_left | _S_right | _S_internal,
  _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1L << 16
}
enum  _Ios_Openmode {
  _S_app = 1L << 0, _S_ate = 1L << 1, _S_bin = 1L << 2, _S_in = 1L << 3,
  _S_out = 1L << 4, _S_trunc = 1L << 5, _S_ios_openmode_end = 1L << 16
}
enum  _Ios_Iostate {
  _S_goodbit = 0, _S_badbit = 1L << 0, _S_eofbit = 1L << 1, _S_failbit = 1L << 2,
  _S_ios_iostate_end = 1L << 16
}
enum  _Ios_Seekdir { _S_beg = 0, _S_cur = SEEK_CUR, _S_end = SEEK_END, _S_ios_seekdir_end = 1L << 16 }
enum  { _S_threshold = 16 }
enum  { _S_chunk_size = 7 }
enum  _Rb_tree_color { _S_red = false, _S_black = true }
enum  float_round_style {
  round_indeterminate = -1, round_toward_zero = 0, round_to_nearest = 1, round_toward_infinity = 2,
  round_toward_neg_infinity = 3
}
 Describes the rounding style for floating-point types. More...
enum  float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, denorm_present = 1 }
 Describes the denormalization for floating-point types. More...

Functions

template<typename _T1, typename _T2>
bool operator== (const allocator< _T1 > &, const allocator< _T2 > &)
template<typename _T1, typename _T2>
bool operator!= (const allocator< _T1 > &, const allocator< _T2 > &)
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<>
basic_istream< char > & operator>> (basic_istream< char > &__is, basic_string< char > &__str)
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.
template<>
basic_istream< char > & getline (basic_istream< char > &__in, basic_string< char > &__str, char __delim)
template<typename _Type>
bool __is_null_pointer (_Type *__ptr)
template<typename _Type>
bool __is_null_pointer (_Type)
template<typename _Tp>
_Tp __cmath_power (_Tp __x, unsigned int __n)
void __throw_bad_exception (void) __attribute__((__noreturn__))
void __throw_bad_alloc (void) __attribute__((__noreturn__))
void __throw_bad_cast (void) __attribute__((__noreturn__))
void __throw_bad_typeid (void) __attribute__((__noreturn__))
void __throw_logic_error (const char *) __attribute__((__noreturn__))
void __throw_domain_error (const char *) __attribute__((__noreturn__))
void __throw_invalid_argument (const char *) __attribute__((__noreturn__))
void __throw_length_error (const char *) __attribute__((__noreturn__))
void __throw_out_of_range (const char *) __attribute__((__noreturn__))
void __throw_runtime_error (const char *) __attribute__((__noreturn__))
void __throw_range_error (const char *) __attribute__((__noreturn__))
void __throw_overflow_error (const char *) __attribute__((__noreturn__))
void __throw_underflow_error (const char *) __attribute__((__noreturn__))
void __throw_ios_failure (const char *) __attribute__((__noreturn__))
_Ios_Fmtflags operator & (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
_Ios_Fmtflags operator| (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
_Ios_Fmtflags operator^ (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
_Ios_Fmtflagsoperator|= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
_Ios_Fmtflagsoperator &= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
_Ios_Fmtflagsoperator^= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
_Ios_Fmtflags operator~ (_Ios_Fmtflags __a)
_Ios_Openmode operator & (_Ios_Openmode __a, _Ios_Openmode __b)
_Ios_Openmode operator| (_Ios_Openmode __a, _Ios_Openmode __b)
_Ios_Openmode operator^ (_Ios_Openmode __a, _Ios_Openmode __b)
_Ios_Openmodeoperator|= (_Ios_Openmode &__a, _Ios_Openmode __b)
_Ios_Openmodeoperator &= (_Ios_Openmode &__a, _Ios_Openmode __b)
_Ios_Openmodeoperator^= (_Ios_Openmode &__a, _Ios_Openmode __b)
_Ios_Openmode operator~ (_Ios_Openmode __a)
_Ios_Iostate operator & (_Ios_Iostate __a, _Ios_Iostate __b)
_Ios_Iostate operator| (_Ios_Iostate __a, _Ios_Iostate __b)
_Ios_Iostate operator^ (_Ios_Iostate __a, _Ios_Iostate __b)
_Ios_Iostateoperator|= (_Ios_Iostate &__a, _Ios_Iostate __b)
_Ios_Iostateoperator &= (_Ios_Iostate &__a, _Ios_Iostate __b)
_Ios_Iostateoperator^= (_Ios_Iostate &__a, _Ios_Iostate __b)
_Ios_Iostate operator~ (_Ios_Iostate __a)
ios_baseboolalpha (ios_base &__base)
 Calls base.setf(ios_base::boolalpha).
ios_basenoboolalpha (ios_base &__base)
 Calls base.unsetf(ios_base::boolalpha).
ios_baseshowbase (ios_base &__base)
 Calls base.setf(ios_base::showbase).
ios_basenoshowbase (ios_base &__base)
 Calls base.unsetf(ios_base::showbase).
ios_baseshowpoint (ios_base &__base)
 Calls base.setf(ios_base::showpoint).
ios_basenoshowpoint (ios_base &__base)
 Calls base.unsetf(ios_base::showpoint).
ios_baseshowpos (ios_base &__base)
 Calls base.setf(ios_base::showpos).
ios_basenoshowpos (ios_base &__base)
 Calls base.unsetf(ios_base::showpos).
ios_baseskipws (ios_base &__base)
 Calls base.setf(ios_base::skipws).
ios_basenoskipws (ios_base &__base)
 Calls base.unsetf(ios_base::skipws).
ios_baseuppercase (ios_base &__base)
 Calls base.setf(ios_base::uppercase).
ios_basenouppercase (ios_base &__base)
 Calls base.unsetf(ios_base::uppercase).
ios_baseunitbuf (ios_base &__base)
 Calls base.setf(ios_base::unitbuf).
ios_basenounitbuf (ios_base &__base)
 Calls base.unsetf(ios_base::unitbuf).
ios_baseinternal (ios_base &__base)
 Calls base.setf(ios_base::internal, ios_base::adjustfield).
ios_baseleft (ios_base &__base)
 Calls base.setf(ios_base::left, ios_base::adjustfield).
ios_baseright (ios_base &__base)
 Calls base.setf(ios_base::right, ios_base::adjustfield).
ios_basedec (ios_base &__base)
 Calls base.setf(ios_base::dec, ios_base::basefield).
ios_basehex (ios_base &__base)
 Calls base.setf(ios_base::hex, ios_base::basefield).
ios_baseoct (ios_base &__base)
 Calls base.setf(ios_base::oct, ios_base::basefield).
ios_basefixed (ios_base &__base)
 Calls base.setf(ios_base::fixed, ios_base::floatfield).
ios_basescientific (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 > &__is)
 Quick and easy way to eat whitespace.
template<typename _Tv>
void __convert_to_v (const char *__in, _Tv &__out, ios_base::iostate &__err, const __c_locale &__cloc)
template<>
void __convert_to_v (const char *, float &, ios_base::iostate &, const __c_locale &)
template<>
void __convert_to_v (const char *, double &, ios_base::iostate &, const __c_locale &)
template<>
void __convert_to_v (const char *, long double &, ios_base::iostate &, const __c_locale &)
template<typename _CharT>
_CharT * __add_grouping (_CharT *__s, _CharT __sep, const char *__gbeg, size_t __gsize, const _CharT *__first, const _CharT *__last)
template<typename _CharT>
ostreambuf_iterator< _CharT > __write (ostreambuf_iterator< _CharT > __s, const _CharT *__ws, int __len)
template<typename _CharT, typename _OutIter>
_OutIter __write (_OutIter __s, const _CharT *__ws, int __len)
template<>
const ctype< char > & use_facet< ctype< char > > (const locale &__loc)
template<typename _CharT>
bool isspace (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::space, __c).
template<typename _CharT>
bool isprint (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::print, __c).
template<typename _CharT>
bool iscntrl (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::cntrl, __c).
template<typename _CharT>
bool isupper (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::upper, __c).
template<typename _CharT>
bool islower (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::lower, __c).
template<typename _CharT>
bool isalpha (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::alpha, __c).
template<typename _CharT>
bool isdigit (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::digit, __c).
template<typename _CharT>
bool ispunct (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::punct, __c).
template<typename _CharT>
bool isxdigit (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::xdigit, __c).
template<typename _CharT>
bool isalnum (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::alnum, __c).
template<typename _CharT>
bool isgraph (_CharT __c, const locale &__loc)
 Convenience interface to ctype.is(ctype_base::graph, __c).
template<typename _CharT>
_CharT toupper (_CharT __c, const locale &__loc)
 Convenience interface to ctype.toupper(__c).
template<typename _CharT>
_CharT tolower (_CharT __c, const locale &__loc)
 Convenience interface to ctype.tolower(__c).
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.
static bool __verify_grouping (const char *__grouping, size_t __grouping_size, const string &__grouping_tmp)
template<typename _CharT>
_GLIBCXX_END_LDBL_NAMESPACE
int 
__int_to_char (_CharT *__bufend, long __v, const _CharT *__lit, ios_base::fmtflags __flags)
template<typename _CharT>
int __int_to_char (_CharT *__bufend, unsigned long __v, const _CharT *__lit, ios_base::fmtflags __flags)
template<typename _CharT, typename _ValueT>
int __int_to_char (_CharT *__bufend, _ValueT __v, const _CharT *__lit, ios_base::fmtflags __flags, bool)
template<typename _Facet>
const _Facet & __check_facet (const _Facet *__f)
template<typename _Tp>
const _Tp & __median (const _Tp &__a, const _Tp &__b, const _Tp &__c)
 Find the median of three values.
template<typename _Tp, typename _Compare>
const _Tp & __median (const _Tp &__a, const _Tp &__b, const _Tp &__c, _Compare __comp)
 Find the median of three values using a predicate for comparison.
template<typename _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 _Tp>
_InputIterator __find (_InputIterator __first, _InputIterator __last, const _Tp &__val, input_iterator_tag)
template<typename _InputIterator, typename _Predicate>
_InputIterator __find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag)
template<typename _RandomAccessIterator, typename _Tp>
_RandomAccessIterator __find (_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp &__val, random_access_iterator_tag)
template<typename _RandomAccessIterator, typename _Predicate>
_RandomAccessIterator __find_if (_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag)
template<typename _InputIterator, typename _Tp>
_InputIterator find (_InputIterator __first, _InputIterator __last, const _Tp &__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 _Tp>
iterator_traits< _InputIterator
>::difference_type 
count (_InputIterator __first, _InputIterator __last, const _Tp &__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 _Tp>
_ForwardIterator __search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, std::forward_iterator_tag)
template<typename _RandomAccessIter, typename _Integer, typename _Tp>
_RandomAccessIter __search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp &__val, std::random_access_iterator_tag)
template<typename _ForwardIterator, typename _Integer, typename _Tp>
_ForwardIterator search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val)
 Search a sequence for a number of consecutive values.
template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate>
_ForwardIterator __search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred, std::forward_iterator_tag)
template<typename _RandomAccessIter, typename _Integer, typename _Tp, typename _BinaryPredicate>
_RandomAccessIter __search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred, std::random_access_iterator_tag)
template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate>
_ForwardIterator search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__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 _Tp>
void replace (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__old_value, const _Tp &__new_value)
 Replace each occurrence of one value in a sequence with another value.
template<typename _ForwardIterator, typename _Predicate, typename _Tp>
void replace_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp &__new_value)
 Replace each value in a sequence for which a predicate returns true with another value.
template<typename _InputIterator, typename _OutputIterator, typename _Tp>
_OutputIterator replace_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__old_value, const _Tp &__new_value)
 Copy a sequence, replacing each element of one value with another value.
template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp>
_OutputIterator replace_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp &__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 _Tp>
_OutputIterator remove_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__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 _Tp>
_ForwardIterator remove (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__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, output_iterator_tag)
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator __unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, forward_iterator_tag)
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
_OutputIterator __unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, output_iterator_tag)
template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator __unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag)
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, bidirectional_iterator_tag)
template<typename _RandomAccessIterator>
void __reverse (_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
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 _EuclideanRingElement>
_EuclideanRingElement __gcd (_EuclideanRingElement __m, _EuclideanRingElement __n)
template<typename _ForwardIterator>
void __rotate (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag)
template<typename _BidirectionalIterator>
void __rotate (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag)
template<typename _RandomAccessIterator>
void __rotate (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag)
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, forward_iterator_tag)
template<typename _BidirectionalIterator, typename _Predicate>
_BidirectionalIterator __partition (_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag)
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, typename _Distance>
_ForwardIterator __inplace_stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len)
template<typename _ForwardIterator, typename _Pointer, typename _Predicate, typename _Distance>
_ForwardIterator __stable_partition_adaptive (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size)
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, typename _Tp>
_RandomAccessIterator __unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot)
template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
_RandomAccessIterator __unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp)
template<typename _RandomAccessIterator, typename _Tp>
void __unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val)
template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
void __unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val, _Compare __comp)
template<typename _RandomAccessIterator>
void __insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _RandomAccessIterator, typename _Compare>
void __insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
template<typename _RandomAccessIterator>
void __unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _RandomAccessIterator, typename _Compare>
void __unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
template<typename _RandomAccessIterator>
void __final_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _RandomAccessIterator, typename _Compare>
void __final_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
template<typename _Size>
_Size __lg (_Size __n)
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, typename _Size>
void __introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit)
template<typename _RandomAccessIterator, typename _Size, typename _Compare>
void __introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp)
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 _Tp>
_ForwardIterator lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename _ForwardIterator, typename _Tp, typename _Compare>
_ForwardIterator lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename _ForwardIterator, typename _Tp>
_ForwardIterator upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename _ForwardIterator, typename _Tp, typename _Compare>
_ForwardIterator upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename _BidirectionalIterator, typename _Distance>
void __merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2)
template<typename _BidirectionalIterator, typename _Distance, typename _Compare>
void __merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp)
template<typename _RandomAccessIterator>
void __inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _RandomAccessIterator, typename _Compare>
void __inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
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 _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance>
void __merge_sort_loop (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size)
template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance, typename _Compare>
void __merge_sort_loop (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp)
template<typename _RandomAccessIterator, typename _Distance>
void __chunk_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size)
template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
void __chunk_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp)
template<typename _RandomAccessIterator, typename _Pointer>
void __merge_sort_with_buffer (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer)
template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
void __merge_sort_with_buffer (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp)
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3>
_BidirectionalIterator3 __merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result)
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare>
_BidirectionalIterator3 __merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp)
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _Distance>
_BidirectionalIterator1 __rotate_adaptive (_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size)
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer>
void __merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size)
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare>
void __merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
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, typename _Pointer, typename _Distance>
void __stable_sort_adaptive (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size)
template<typename _RandomAccessIterator, typename _Pointer, typename _Distance, typename _Compare>
void __stable_sort_adaptive (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
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 _Tp>
pair< _ForwardIterator, _ForwardIterator > equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename _ForwardIterator, typename _Tp, typename _Compare>
pair< _ForwardIterator, _ForwardIterator > equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename _ForwardIterator, typename _Tp>
bool binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 Determines whether an element exists in a range.
template<typename _ForwardIterator, typename _Tp, typename _Compare>
bool binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__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, forward_iterator_tag, forward_iterator_tag)
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
_ForwardIterator1 __find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp)
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2>
_BidirectionalIterator1 __find_end (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag)
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BinaryPredicate>
_BidirectionalIterator1 __find_end (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp)
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 _Tp>
void swap (_Tp &__a, _Tp &__b)
 Swaps two values.
template<typename _ForwardIterator1, typename _ForwardIterator2>
void iter_swap (_ForwardIterator1 __a, _ForwardIterator2 __b)
 Swaps the contents of two iterators.
template<typename _Tp>
const _Tp & min (const _Tp &__a, const _Tp &__b)
 This does what you think it does.
template<typename _Tp>
const _Tp & max (const _Tp &__a, const _Tp &__b)
 This does what you think it does.
template<typename _Tp, typename _Compare>
const _Tp & min (const _Tp &__a, const _Tp &__b, _Compare __comp)
 This does what you think it does.
template<typename _Tp, typename _Compare>
const _Tp & max (const _Tp &__a, const _Tp &__b, _Compare __comp)
 This does what you think it does.
template<typename _II, typename _OI>
_OI __copy_aux (_II __first, _II __last, _OI __result)
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_aux (_BI1 __first, _BI1 __last, _BI2 __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 _Tp>
void fill (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
 Fills the range [first,last) with copies of value.
void fill (unsigned char *__first, unsigned char *__last, const unsigned char &__c)
void fill (signed char *__first, signed char *__last, const signed char &__c)
void fill (char *__first, char *__last, const char &__c)
template<typename _OutputIterator, typename _Size, typename _Tp>
_OutputIterator fill_n (_OutputIterator __first, _Size __n, const _Tp &__value)
 Fills the range [first,first+n) with copies of value.
template<typename _Size>
unsigned char * fill_n (unsigned char *__first, _Size __n, const unsigned char &__c)
template<typename _Size>
signed char * fill_n (char *__first, _Size __n, const signed char &__c)
template<typename _Size>
char * fill_n (char *__first, _Size __n, const char &__c)
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.
bool lexicographical_compare (const unsigned char *__first1, const unsigned char *__last1, const unsigned char *__first2, const unsigned char *__last2)
bool lexicographical_compare (const char *__first1, const char *__last1, const char *__first2, const char *__last2)
template<typename _T1, typename _T2>
void _Construct (_T1 *__p, const _T2 &__value)
template<typename _T1>
void _Construct (_T1 *__p)
template<typename _Tp>
void _Destroy (_Tp *__pointer)
template<typename _ForwardIterator>
void __destroy_aux (_ForwardIterator __first, _ForwardIterator __last, __false_type)
template<typename _ForwardIterator>
void __destroy_aux (_ForwardIterator, _ForwardIterator, __true_type)
template<typename _ForwardIterator>
void _Destroy (_ForwardIterator __first, _ForwardIterator __last)
template<typename _ForwardIterator, typename _Allocator>
void _Destroy (_ForwardIterator __first, _ForwardIterator __last, _Allocator __alloc)
template<typename _ForwardIterator, typename _Tp>
void _Destroy (_ForwardIterator __first, _ForwardIterator __last, allocator< _Tp >)
template<class _Predicate>
unary_negate< _Predicate > not1 (const _Predicate &__pred)
 One of the negation functors.
template<class _Predicate>
binary_negate< _Predicate > not2 (const _Predicate &__pred)
 One of the negation functors.
template<class _Operation, class _Tp>
binder1st< _Operation > bind1st (const _Operation &__fn, const _Tp &__x)
 One of the binder functors.
template<class _Operation, class _Tp>
binder2nd< _Operation > bind2nd (const _Operation &__fn, const _Tp &__x)
 One of the binder functors.
template<class _Arg, class _Result>
pointer_to_unary_function<
_Arg, _Result > 
ptr_fun (_Result(*__x)(_Arg))
 One of the adaptors for function pointers.
template<class _Arg1, class _Arg2, class _Result>
pointer_to_binary_function<
_Arg1, _Arg2, _Result > 
ptr_fun (_Result(*__x)(_Arg1, _Arg2))
 One of the adaptors for function pointers.
template<class _Ret, class _Tp>
mem_fun_t< _Ret, _Tp > mem_fun (_Ret(_Tp::*__f)())
template<class _Ret, class _Tp>
mem_fun_ref_t< _Ret, _Tp > mem_fun_ref (_Ret(_Tp::*__f)())
template<class _Ret, class _Tp, class _Arg>
mem_fun1_t< _Ret, _Tp, _Arg > mem_fun (_Ret(_Tp::*__f)(_Arg))
template<class _Ret, class _Tp, class _Arg>
mem_fun1_ref_t< _Ret, _Tp,
_Arg > 
mem_fun_ref (_Ret(_Tp::*__f)(_Arg))
template<typename _RandomAccessIterator, typename _Distance>
bool __is_heap (_RandomAccessIterator __first, _Distance __n)
template<typename _RandomAccessIterator, typename _Distance, typename _StrictWeakOrdering>
bool __is_heap (_RandomAccessIterator __first, _StrictWeakOrdering __comp, _Distance __n)
template<typename _RandomAccessIterator>
bool __is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
bool __is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _StrictWeakOrdering __comp)
template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
void __push_heap (_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value)
template<typename _RandomAccessIterator>
void push_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 Push an element onto a heap.
template<typename _RandomAccessIterator, typename _Distance, typename _Tp, typename _Compare>
void __push_heap (_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value, _Compare __comp)
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, typename _Distance, typename _Tp>
void __adjust_heap (_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value)
template<typename _RandomAccessIterator, typename _Tp>
void __pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Tp __value)
template<typename _RandomAccessIterator>
void pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 Pop an element off a heap.
template<typename _RandomAccessIterator, typename _Distance, typename _Tp, typename _Compare>
void __adjust_heap (_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value, _Compare __comp)
template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
void __pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Tp __value, _Compare __comp)
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, input_iterator_tag)
template<typename _RandomAccessIterator>
iterator_traits< _RandomAccessIterator
>::difference_type 
__distance (_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
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, input_iterator_tag)
template<typename _BidirectionalIterator, typename _Distance>
void __advance (_BidirectionalIterator &__i, _Distance __n, bidirectional_iterator_tag)
template<typename _RandomAccessIterator, typename _Distance>
void __advance (_RandomAccessIterator &__i, _Distance __n, random_access_iterator_tag)
template<typename _InputIterator, typename _Distance>
void advance (_InputIterator &__i, _Distance __n)
 A generalization of pointer arithmetic.
template<typename _Iter>
iterator_traits< _Iter
>::iterator_category 
__iterator_category (const _Iter &)
template<typename _InputIterator, typename _Tp>
_Tp accumulate (_InputIterator __first, _InputIterator __last, _Tp __init)
 Accumulate values in a range.
template<typename _InputIterator, typename _Tp, typename _BinaryOperation>
_Tp accumulate (_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOperation __binary_op)
 Accumulate values in a range with operation.
template<typename _InputIterator1, typename _InputIterator2, typename _Tp>
_Tp inner_product (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init)
 Compute inner product of two ranges.
template<typename _InputIterator1, typename _InputIterator2, typename _Tp, typename _BinaryOperation1, typename _BinaryOperation2>
_Tp inner_product (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __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 _Tp, typename _Seq>
bool operator== (const queue< _Tp, _Seq > &, const queue< _Tp, _Seq > &)
template<typename _Tp, typename _Seq>
bool operator< (const queue< _Tp, _Seq > &, const queue< _Tp, _Seq > &)
template<typename _Tp, typename _Sequence>
bool operator== (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Queue equality comparison.
template<typename _Tp, typename _Sequence>
bool operator< (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Queue ordering relation.
template<typename _Tp, typename _Sequence>
bool operator!= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Based on operator==.
template<typename _Tp, typename _Sequence>
bool operator> (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Based on operator<.
template<typename _Tp, typename _Sequence>
bool operator<= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Based on operator<.
template<typename _Tp, typename _Sequence>
bool operator>= (const queue< _Tp, _Sequence > &__x, const queue< _Tp, _Sequence > &__y)
 Based on operator<.
template<typename _Tp, typename _Seq>
bool operator== (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Stack equality comparison.
template<typename _Tp, typename _Seq>
bool operator< (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Stack ordering relation.
template<typename _Tp, typename _Seq>
bool operator!= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Based on operator==.
template<typename _Tp, typename _Seq>
bool operator> (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Based on operator<.
template<typename _Tp, typename _Seq>
bool operator<= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Based on operator<.
template<typename _Tp, typename _Seq>
bool operator>= (const stack< _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
 Based on operator<.
_Rb_tree_node_base_Rb_tree_increment (_Rb_tree_node_base *__x)
const _Rb_tree_node_base_Rb_tree_increment (const _Rb_tree_node_base *__x)
_Rb_tree_node_base_Rb_tree_decrement (_Rb_tree_node_base *__x)
const _Rb_tree_node_base_Rb_tree_decrement (const _Rb_tree_node_base *__x)
template<typename _Val>
bool operator== (const _Rb_tree_iterator< _Val > &__x, const _Rb_tree_const_iterator< _Val > &__y)
template<typename _Val>
bool operator!= (const _Rb_tree_iterator< _Val > &__x, const _Rb_tree_const_iterator< _Val > &__y)
void _Rb_tree_rotate_left (_Rb_tree_node_base *const __x, _Rb_tree_node_base *&__root)
void _Rb_tree_rotate_right (_Rb_tree_node_base *const __x, _Rb_tree_node_base *&__root)
void _Rb_tree_insert_and_rebalance (const bool __insert_left, _Rb_tree_node_base *__x, _Rb_tree_node_base *__p, _Rb_tree_node_base &__header)
_Rb_tree_node_base_Rb_tree_rebalance_for_erase (_Rb_tree_node_base *const __z, _Rb_tree_node_base &__header)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator== (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator< (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator!= (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator> (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator<= (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool operator>= (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
void swap (_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x, _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__y)
unsigned int _Rb_tree_black_count (const _Rb_tree_node_base *__node, const _Rb_tree_node_base *__root)
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator __uninitialized_copy_aux (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, __true_type)
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator __uninitialized_copy_aux (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, __false_type)
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator uninitialized_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result)
 Copies the range [first,last) into result.
char * uninitialized_copy (const char *__first, const char *__last, char *__result)
wchar_t * uninitialized_copy (const wchar_t *__first, const wchar_t *__last, wchar_t *__result)
template<typename _ForwardIterator, typename _Tp>
void __uninitialized_fill_aux (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__x, __true_type)
template<typename _ForwardIterator, typename _Tp>
void __uninitialized_fill_aux (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__x, __false_type)
template<typename _ForwardIterator, typename _Tp>
void uninitialized_fill (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__x)
 Copies the value x into the range [first,last).
template<typename _ForwardIterator, typename _Size, typename _Tp>
void __uninitialized_fill_n_aux (_ForwardIterator __first, _Size __n, const _Tp &__x, __true_type)
template<typename _ForwardIterator, typename _Size, typename _Tp>
void __uninitialized_fill_n_aux (_ForwardIterator __first, _Size __n, const _Tp &__x, __false_type)
template<typename _ForwardIterator, typename _Size, typename _Tp>
void uninitialized_fill_n (_ForwardIterator __first, _Size __n, const _Tp &__x)
 Copies the value x into the range [first,first+n).
template<typename _InputIterator, typename _ForwardIterator, typename _Allocator>
_ForwardIterator __uninitialized_copy_a (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator __alloc)
template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
_ForwardIterator __uninitialized_copy_a (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, allocator< _Tp >)
template<typename _ForwardIterator, typename _Tp, typename _Allocator>
void __uninitialized_fill_a (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__x, _Allocator __alloc)
template<typename _ForwardIterator, typename _Tp, typename _Tp2>
void __uninitialized_fill_a (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__x, allocator< _Tp2 >)
template<typename _ForwardIterator, typename _Size, typename _Tp, typename _Allocator>
void __uninitialized_fill_n_a (_ForwardIterator __first, _Size __n, const _Tp &__x, _Allocator __alloc)
template<typename _ForwardIterator, typename _Size, typename _Tp, typename _Tp2>
void __uninitialized_fill_n_a (_ForwardIterator __first, _Size __n, const _Tp &__x, allocator< _Tp2 >)
template<typename _InputIterator1, typename _InputIterator2, typename _ForwardIterator, typename _Allocator>
_ForwardIterator __uninitialized_copy_copy (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator __alloc)
template<typename _ForwardIterator, typename _Tp, typename _InputIterator, typename _Allocator>
_ForwardIterator __uninitialized_fill_copy (_ForwardIterator __result, _ForwardIterator __mid, const _Tp &__x, _InputIterator __first, _InputIterator __last, _Allocator __alloc)
template<typename _InputIterator, typename _ForwardIterator, typename _Tp, typename _Allocator>
void __uninitialized_copy_fill (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, const _Tp &__x, _Allocator __alloc)
template<typename _Tp, typename _CharT, typename _Traits, typename _Dist>
bool operator== (const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__x, const istream_iterator< _Tp, _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 _Tp, class _CharT, class _Traits, class _Dist>
bool operator!= (const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__x, const istream_iterator< _Tp, _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 _CharT, typename _Traits>
streamsize __copy_streambufs (basic_streambuf< _CharT, _Traits > *__sbin, basic_streambuf< _CharT, _Traits > *__sbout)
template<typename _CharT, typename _Traits>
bool operator== (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
template<typename _CharT, typename _Traits>
bool operator!= (const istreambuf_iterator< _CharT, _Traits > &__a, const istreambuf_iterator< _CharT, _Traits > &__b)
void * __valarray_get_memory (size_t __n)
template<typename _Tp>
_Tp *__restrict__ __valarray_get_storage (size_t __n)
void __valarray_release_memory (void *__p)
template<typename _Tp>
void __valarray_default_construct (_Tp *__restrict__ __b, _Tp *__restrict__ __e)
template<typename _Tp>
void __valarray_fill_construct (_Tp *__restrict__ __b, _Tp *__restrict__ __e, const _Tp __t)
template<typename _Tp>
void __valarray_copy_construct (const _Tp *__restrict__ __b, const _Tp *__restrict__ __e, _Tp *__restrict__ __o)
template<typename _Tp>
void __valarray_copy_construct (const _Tp *__restrict__ __a, size_t __n, size_t __s, _Tp *__restrict__ __o)
template<typename _Tp>
void __valarray_copy_construct (const _Tp *__restrict__ __a, const size_t *__restrict__ __i, _Tp *__restrict__ __o, size_t __n)
template<typename _Tp>
void __valarray_destroy_elements (_Tp *__restrict__ __b, _Tp *__restrict__ __e)
template<typename _Tp>
void __valarray_fill (_Tp *__restrict__ __a, size_t __n, const _Tp &__t)
template<typename _Tp>
void __valarray_fill (_Tp *__restrict__ __a, size_t __n, size_t __s, const _Tp &__t)
template<typename _Tp>
void __valarray_fill (_Tp *__restrict__ __a, const size_t *__restrict__ __i, size_t __n, const _Tp &__t)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __a, size_t __n, _Tp *__restrict__ __b)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __a, size_t __n, size_t __s, _Tp *__restrict__ __b)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __a, _Tp *__restrict__ __b, size_t __n, size_t __s)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __src, size_t __n, size_t __s1, _Tp *__restrict__ __dst, size_t __s2)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __a, const size_t *__restrict__ __i, _Tp *__restrict__ __b, size_t __n)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __a, size_t __n, _Tp *__restrict__ __b, const size_t *__restrict__ __i)
template<typename _Tp>
void __valarray_copy (const _Tp *__restrict__ __src, size_t __n, const size_t *__restrict__ __i, _Tp *__restrict__ __dst, const size_t *__restrict__ __j)
template<typename _Tp>
_Tp __valarray_sum (const _Tp *__restrict__ __f, const _Tp *__restrict__ __l)
template<typename _Tp>
_Tp __valarray_product (const _Tp *__restrict__ __f, const _Tp *__restrict__ __l)
template<typename _Ta>
_Ta::value_type __valarray_min (const _Ta &__a)
template<typename _Ta>
_Ta::value_type __valarray_max (const _Ta &__a)
template<typename _Tp>
void __valarray_copy_construct (_Array< _Tp > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
template<typename _Tp>
void __valarray_copy_construct (_Array< _Tp > __a, size_t __n, size_t __s, _Array< _Tp > __b)
template<typename _Tp>
void __valarray_fill (_Array< _Tp > __a, size_t __n, const _Tp &__t)
template<typename _Tp>
void __valarray_fill (_Array< _Tp > __a, size_t __n, size_t __s, const _Tp &__t)
template<typename _Tp>
void __valarray_fill (_Array< _Tp > __a, _Array< size_t > __i, size_t __n, const _Tp &__t)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, size_t __n, _Array< _Tp > __b)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, size_t __n, size_t __s, _Array< _Tp > __b)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, _Array< _Tp > __b, size_t __n, size_t __s)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, size_t __n, size_t __s1, _Array< _Tp > __b, size_t __s2)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __src, size_t __n, _Array< size_t > __i, _Array< _Tp > __dst, _Array< size_t > __j)
template<typename _Tp>
void __valarray_fill (_Array< _Tp > __a, size_t __n, _Array< bool > __m, const _Tp &__t)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __a, _Array< bool > __m, size_t __n, _Array< _Tp > __b, _Array< bool > __k)
template<typename _Tp, class _Dom>
void __valarray_copy (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a)
template<typename _Tp, class _Dom>
void __valarray_copy (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, size_t __s)
template<typename _Tp, class _Dom>
void __valarray_copy (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, _Array< size_t > __i)
template<typename _Tp>
void __valarray_copy (_Array< _Tp > __e, _Array< size_t > __f, size_t __n, _Array< _Tp > __a, _Array< size_t > __i)
template<typename _Tp, class _Dom>
void __valarray_copy (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, _Array< bool > __m)
template<typename _Tp, class _Dom>
void __valarray_copy_construct (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a)
template<typename _Tp>
void __valarray_copy_construct (_Array< _Tp > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
double abs (double __x)
float abs (float __x)
long double abs (long double __x)
float acos (float __x)
long double acos (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
acos (_Tp __x)
float asin (float __x)
long double asin (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
asin (_Tp __x)
float atan (float __x)
long double atan (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
atan (_Tp __x)
float atan2 (float __y, float __x)
long double atan2 (long double __y, long double __x)
template<typename _Tp, typename _Up>
__enable_if< double, __is_integer<
_Tp >::__value &&__is_integer<
_Up >::__value >::__type 
atan2 (_Tp __y, _Up __x)
float ceil (float __x)
long double ceil (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
ceil (_Tp __x)
float cos (float __x)
long double cos (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
cos (_Tp __x)
float cosh (float __x)
long double cosh (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
cosh (_Tp __x)
float exp (float __x)
long double exp (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
exp (_Tp __x)
float fabs (float __x)
long double fabs (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
fabs (_Tp __x)
float floor (float __x)
long double floor (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
floor (_Tp __x)
float fmod (float __x, float __y)
long double fmod (long double __x, long double __y)
float frexp (float __x, int *__exp)
long double frexp (long double __x, int *__exp)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
frexp (_Tp __x, int *__exp)
float ldexp (float __x, int __exp)
long double ldexp (long double __x, int __exp)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
ldexp (_Tp __x, int __exp)
float log (float __x)
long double log (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
log (_Tp __x)
float log10 (float __x)
long double log10 (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
log10 (_Tp __x)
float modf (float __x, float *__iptr)
long double modf (long double __x, long double *__iptr)
template<typename _Tp>
_Tp __pow_helper (_Tp __x, int __n)
float pow (float __x, float __y)
long double pow (long double __x, long double __y)
double pow (double __x, int __i)
float pow (float __x, int __n)
long double pow (long double __x, int __n)
float sin (float __x)
long double sin (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
sin (_Tp __x)
float sinh (float __x)
long double sinh (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
sinh (_Tp __x)
float sqrt (float __x)
long double sqrt (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
sqrt (_Tp __x)
float tan (float __x)
long double tan (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
tan (_Tp __x)
float tanh (float __x)
long double tanh (long double __x)
template<typename _Tp>
__enable_if< double, __is_integer<
_Tp >::__value >::__type 
tanh (_Tp __x)
template<typename _Tp>
_Tp abs (const complex< _Tp > &)
 Return magnitude of z.
template<typename _Tp>
_Tp arg (const complex< _Tp > &)
 Return phase angle of z.
template<typename _Tp>
_Tp norm (const complex< _Tp > &)
 Return z magnitude squared.
template<typename _Tp>
complex< _Tp > conj (const complex< _Tp > &)
 Return complex conjugate of z.
template<typename _Tp>
complex< _Tp > polar (const _Tp &, const _Tp &=0)
 Return complex with magnitude rho and angle theta.
template<typename _Tp>
complex< _Tp > cos (const complex< _Tp > &)
 Return complex cosine of z.
template<typename _Tp>
complex< _Tp > cosh (const complex< _Tp > &)
 Return complex hyperbolic cosine of z.
template<typename _Tp>
complex< _Tp > exp (const complex< _Tp > &)
 Return complex base e exponential of z.
template<typename _Tp>
complex< _Tp > log (const complex< _Tp > &)
 Return complex natural logarithm of z.
template<typename _Tp>
complex< _Tp > log10 (const complex< _Tp > &)
 Return complex base 10 logarithm of z.
template<typename _Tp>
complex< _Tp > pow (const complex< _Tp > &, int)
 Return complex cosine of z.
template<typename _Tp>
complex< _Tp > pow (const complex< _Tp > &, const _Tp &)
 Return x to the y'th power.
template<typename _Tp>
complex< _Tp > pow (const complex< _Tp > &, const complex< _Tp > &)
 Return x to the y'th power.
template<typename _Tp>
complex< _Tp > pow (const _Tp &, const complex< _Tp > &)
 Return x to the y'th power.
template<typename _Tp>
complex< _Tp > sin (const complex< _Tp > &)
 Return complex sine of z.
template<typename _Tp>
complex< _Tp > sinh (const complex< _Tp > &)
 Return complex hyperbolic sine of z.
template<typename _Tp>
complex< _Tp > sqrt (const complex< _Tp > &)
 Return complex square root of z.
template<typename _Tp>
complex< _Tp > tan (const complex< _Tp > &)
 Return complex tangent of z.
template<typename _Tp>
complex< _Tp > tanh (const complex< _Tp > &)
 Return complex hyperbolic tangent of z.
template<typename _Tp>
complex< _Tp > operator+ (const complex< _Tp > &__x)
 Return x.
template<typename _Tp>
complex< _Tp > operator- (const complex< _Tp > &__x)
 Return complex negation of x.
template<typename _Tp, typename _CharT, class _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, complex< _Tp > &__x)
 Extraction operator for complex values.
template<typename _Tp, typename _CharT, class _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const complex< _Tp > &__x)
 Insertion operator for complex values.
template<typename _Tp>
_Tp & real (complex< _Tp > &__z)
template<typename _Tp>
const _Tp & real (const complex< _Tp > &__z)
template<typename _Tp>
_Tp & imag (complex< _Tp > &__z)
template<typename _Tp>
const _Tp & imag (const complex< _Tp > &__z)
template<typename _Tp>
_Tp __complex_abs (const complex< _Tp > &__z)
template<typename _Tp>
_Tp __complex_arg (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_cos (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_cosh (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_exp (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_log (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_sin (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_sinh (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_sqrt (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_tan (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_tanh (const complex< _Tp > &__z)
template<typename _Tp>
complex< _Tp > __complex_pow (const complex< _Tp > &__x, const complex< _Tp > &__y)
void abort (void)
int atexit (void(*)())
void exit (int)
void * memchr (void *__p, int __c, size_t __n)
char * strchr (char *__s1, int __n)
char * strpbrk (char *__s1, const char *__s2)
char * strrchr (char *__s1, int __n)
char * strstr (char *__s1, const char *__s2)
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 ()
template<typename _T>
size_t __iconv_adaptor (size_t(*__func)(iconv_t, _T, size_t *, char **, size_t *), iconv_t __cd, char **__inbuf, size_t *__inbytes, char **__outbuf, size_t *__outbytes)
template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str)
 Read stream into a string.
template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, const __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str)
 Write string to a stream.
template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream< _CharT, _Traits > & getline (basic_istream< _CharT, _Traits > &__is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str, _CharT __delim)
 Read a line from stream into a string.
template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream< _CharT, _Traits > & getline (basic_istream< _CharT, _Traits > &__is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str)
 Read a line from stream into a string.
template<typename _Tv>
int __convert_from_v (char *__out, const int __size __attribute__((__unused__)), const char *__fmt, _Tv __v, const __c_locale &, int __prec)
_Resetiosflags resetiosflags (ios_base::fmtflags __mask)
 Manipulator for setf.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Resetiosflags __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Resetiosflags __f)
_Setiosflags setiosflags (ios_base::fmtflags __mask)
 Manipulator for setf.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Setiosflags __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Setiosflags __f)
_Setbase setbase (int __base)
 Manipulator for setf.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Setbase __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Setbase __f)
template<typename _CharT>
_Setfill< _CharT > setfill (_CharT __c)
 Manipulator for fill.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Setfill< _CharT > __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Setfill< _CharT > __f)
_Setprecision setprecision (int __n)
 Manipulator for precision.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Setprecision __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Setprecision __f)
_Setw setw (int __n)
 Manipulator for width.
template<typename _CharT, typename _Traits>
basic_istream< _CharT, _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is, _Setw __f)
template<typename _CharT, typename _Traits>
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, _Setw __f)
template<typename _Tp>
pair< _Tp *, ptrdiff_t > __get_temporary_buffer (ptrdiff_t __len, _Tp *)
template<typename _Tp>
pair< _Tp *, ptrdiff_t > get_temporary_buffer (ptrdiff_t __len)
 Allocates a temporary buffer.
template<typename _Tp>
void return_temporary_buffer (_Tp *__p)
 The companion to get_temporary_buffer().
new_handler set_new_handler (new_handler) throw ()
 Takes a replacement handler as the argument, returns the previous handler.
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.
template<>
streamsize __copy_streambufs (basic_streambuf< char > *__sbin, basic_streambuf< char > *__sbout)

Variables

static ios_base::Init __ioinit
const nothrow_t nothrow


Typedef Documentation

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 ptrdiff_t std::streamsize

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

Definition at line 78 of file postypes.h.

typedef fpos<mbstate_t> std::streampos

File position for char streams.

Definition at line 210 of file postypes.h.

typedef fpos<mbstate_t> std::wstreampos

File position for wchar_t streams.

Definition at line 212 of file postypes.h.

typedef basic_string<char> std::string

Definition at line 60 of file stringfwd.h.

typedef void(*) std::terminate_handler()

If you write a replacement terminate handler, it must be of this type.

Definition at line 76 of file exception.

typedef void(*) std::unexpected_handler()

If you write a replacement unexpected handler, it must be of this type.

Definition at line 78 of file exception.

typedef __gthread_mutex_t std::__c_lock

Definition at line 42 of file c++io.h.

typedef FILE std::__c_file

Definition at line 45 of file c++io.h.

typedef __locale_t std::__c_locale

Definition at line 61 of file c++locale.h.

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 68 of file new.


Enumeration Type Documentation

enum std::_Ios_Fmtflags

Enumerator:
_S_boolalpha 
_S_dec 
_S_fixed 
_S_hex 
_S_internal 
_S_left 
_S_oct 
_S_right 
_S_scientific 
_S_showbase 
_S_showpoint 
_S_showpos 
_S_skipws 
_S_unitbuf 
_S_uppercase 
_S_adjustfield 
_S_basefield 
_S_floatfield 
_S_ios_fmtflags_end 

Definition at line 55 of file ios_base.h.

enum std::_Ios_Openmode

Enumerator:
_S_app 
_S_ate 
_S_bin 
_S_in 
_S_out 
_S_trunc 
_S_ios_openmode_end 

Definition at line 107 of file ios_base.h.

enum std::_Ios_Iostate

Enumerator:
_S_goodbit 
_S_badbit 
_S_eofbit 
_S_failbit 
_S_ios_iostate_end 

Definition at line 147 of file ios_base.h.

enum std::_Ios_Seekdir

Enumerator:
_S_beg 
_S_cur 
_S_end 
_S_ios_seekdir_end 

Definition at line 184 of file ios_base.h.

anonymous enum

Enumerator:
_S_threshold 

Definition at line 2217 of file stl_algo.h.

anonymous enum

Enumerator:
_S_chunk_size 

Definition at line 3263 of file stl_algo.h.

enum std::_Rb_tree_color

Enumerator:
_S_red 
_S_black 

Definition at line 90 of file stl_tree.h.

enum std::float_round_style

Describes the rounding style for floating-point types.

This is used in the std::numeric_limits class.

Enumerator:
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 156 of file limits.

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.

Enumerator:
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 171 of file limits.


Function Documentation

template<typename _T1, typename _T2>
bool std::operator== ( const allocator< _T1 > &  ,
const allocator< _T2 > &   
) [inline]

Definition at line 112 of file allocator.h.

template<typename _T1, typename _T2>
bool std::operator!= ( const allocator< _T1 > &  ,
const allocator< _T2 > &   
) [inline]

Definition at line 117 of file allocator.h.

template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc> std::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 2066 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+ ( 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 673 of file basic_string.tcc.

References __glibcxx_requires_string, and std::basic_string< _CharT, _Traits, _Alloc >::size().

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 689 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 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 2103 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+ ( 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 2119 of file basic_string.h.

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2137 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2149 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2161 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2174 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2186 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2198 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2211 of file basic_string.h.

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2223 of file basic_string.h.

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2235 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2248 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2260 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2272 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2285 of file basic_string.h.

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2297 of file basic_string.h.

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2309 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2322 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2334 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::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 2346 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::compare().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::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 2359 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::swap().

Referenced by __partition(), __rotate(), std::__alloc_swap< _Alloc, false >::_S_do_it(), std::__iter_swap< true >::iter_swap(), Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_swap(), Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, false >::m_swap(), Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, H, false >::m_swap(), __gnu_debug_def::vector< _Tp, _Allocator >::swap(), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::swap(), _GLIBCXX_STD::vector< _Tp, _Allocator >::swap(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::swap(), _GLIBCXX_STD::list< _Tp, _Allocator >::swap(), _GLIBCXX_STD::deque< _Tp, _Allocator >::swap(), _GLIBCXX_STD::vector< bool, _Alloc >::swap(), __gnu_cxx::slist< _Tp, _Alloc >::swap(), __gnu_debug_def::set< _Key, _Compare, _Allocator >::swap(), __gnu_debug_def::multiset< _Key, _Compare, _Allocator >::swap(), __gnu_debug_def::multimap< _Key, _Tp, _Compare, _Allocator >::swap(), __gnu_debug_def::map< _Key, _Tp, _Compare, _Allocator >::swap(), __gnu_debug_def::list< _Tp, _Allocator >::swap(), __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::swap(), std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::swap(), __gnu_debug_def::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::swap(), __gnu_debug_def::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::swap(), __gnu_debug_def::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::swap(), __gnu_debug_def::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::swap(), __gnu_debug_def::deque< _Tp, _Allocator >::swap(), std::tr1::weak_ptr< _Tp >::swap(), and std::tr1::shared_ptr< _Tp >::swap().

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

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_string< _CharT, _Traits, _Alloc >::append(), std::ios_base::badbit, std::ios_base::eofbit, std::basic_string< _CharT, _Traits, _Alloc >::erase(), std::ios_base::failbit, std::ios_base::getloc(), std::ios_base::goodbit, std::basic_string< _CharT, _Traits, _Alloc >::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), ctype_base::space, and std::ios_base::width().

template<>
basic_istream<char>& std::operator>> ( basic_istream< char > &  __is,
basic_string< char > &  __str 
)

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

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

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::ios_base::badbit, std::ios_base::eofbit, std::basic_string< _CharT, _Traits, _Alloc >::erase(), std::ios_base::failbit, std::ios_base::goodbit, std::basic_string< _CharT, _Traits, _Alloc >::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

Referenced by getline().

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

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

template<>
basic_istream<char>& std::getline ( basic_istream< char > &  __in,
basic_string< char > &  __str,
char  __delim 
)

template<typename _Type>
bool std::__is_null_pointer ( _Type *  __ptr  )  [inline]

Definition at line 52 of file basic_string.tcc.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_S_construct().

template<typename _Type>
bool std::__is_null_pointer ( _Type   )  [inline]

Definition at line 57 of file basic_string.tcc.

template<typename _Tp>
_Tp std::__cmath_power ( _Tp  __x,
unsigned int  __n 
) [inline]

Definition at line 39 of file cmath.tcc.

Referenced by __pow_helper().

void std::__throw_bad_exception ( void   ) 

void std::__throw_bad_alloc ( void   ) 

Referenced by __gnu_cxx::__pool_alloc< _Tp >::allocate(), __gnu_cxx::new_allocator< _Tp >::allocate(), __gnu_cxx::__mt_alloc< _Tp, _Poolp >::allocate(), __gnu_cxx::malloc_allocator< _Tp >::allocate(), __gnu_cxx::bitmap_allocator< _Tp >::allocate(), and __gnu_cxx::array_allocator< _Tp, _Array >::allocate().

void std::__throw_bad_cast ( void   ) 

Referenced by __check_facet(), and use_facet().

void std::__throw_bad_typeid ( void   ) 

void std::__throw_logic_error ( const char *   ) 

Referenced by __gnu_cxx::__sso_string_base< _CharT, _Traits, _Alloc >::_M_construct(), __gnu_cxx::__rc_string_base< _CharT, _Traits, _Alloc >::_S_construct(), and std::basic_string< _CharT, _Traits, _Alloc >::_S_construct().

void std::__throw_domain_error ( const char *   ) 

void std::__throw_invalid_argument ( const char *   ) 

Referenced by _GLIBCXX_STD::bitset< _Nb >::_M_copy_from_string().

void std::__throw_length_error ( const char *   ) 

Referenced by __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::_M_check_length(), std::basic_string< _CharT, _Traits, _Allocator >::_M_check_length(), __gnu_cxx::__sso_string_base< _CharT, _Traits, _Alloc >::_M_create(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), __gnu_cxx::__rc_string_base< _CharT, _Traits, _Alloc >::_Rep::_S_create(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_create(), _GLIBCXX_STD::vector< _Tp, _Alloc >::reserve(), and _GLIBCXX_STD::vector< bool, _Alloc >::reserve().

void std::__throw_out_of_range ( const char *   ) 

Referenced by std::tr1::array< _Tp, _Nm >::_M_at(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::_M_check(), std::basic_string< _CharT, _Traits, _Allocator >::_M_check(), _GLIBCXX_STD::_Base_bitset< 0 >::_M_getword(), _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_range_check(), _GLIBCXX_STD::deque< _Tp, _Allocator >::_M_range_check(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_range_check(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::at(), _GLIBCXX_STD::map< _Key, _Tp, _Compare, _Allocator >::at(), std::basic_string< _CharT, _Traits, _Allocator >::at(), _GLIBCXX_STD::bitset< _Nb >::bitset(), _GLIBCXX_STD::bitset< _Nb >::flip(), _GLIBCXX_STD::bitset< _Nb >::reset(), _GLIBCXX_STD::bitset< _Nb >::set(), and _GLIBCXX_STD::bitset< _Nb >::test().

void std::__throw_runtime_error ( const char *   ) 

Referenced by __gnu_cxx::encoding_state::init().

void std::__throw_range_error ( const char *   ) 

void std::__throw_overflow_error ( const char *   ) 

Referenced by _GLIBCXX_STD::_Base_bitset< _Nw >::_M_do_to_ulong().

void std::__throw_underflow_error ( const char *   ) 

void std::__throw_ios_failure ( const char *   ) 

Referenced by std::basic_filebuf< _CharT, _Traits >::_M_convert_to_external(), std::basic_ios< _CharT, _Traits >::clear(), std::basic_filebuf< _CharT, _Traits >::underflow(), and std::basic_filebuf< _CharT, _Traits >::xsgetn().

_Ios_Fmtflags std::operator & ( _Ios_Fmtflags  __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 79 of file ios_base.h.

_Ios_Fmtflags std::operator| ( _Ios_Fmtflags  __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 83 of file ios_base.h.

_Ios_Fmtflags std::operator^ ( _Ios_Fmtflags  __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 87 of file ios_base.h.

_Ios_Fmtflags& std::operator|= ( _Ios_Fmtflags __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 91 of file ios_base.h.

_Ios_Fmtflags& std::operator &= ( _Ios_Fmtflags __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 95 of file ios_base.h.

_Ios_Fmtflags& std::operator^= ( _Ios_Fmtflags __a,
_Ios_Fmtflags  __b 
) [inline]

Definition at line 99 of file ios_base.h.

_Ios_Fmtflags std::operator~ ( _Ios_Fmtflags  __a  )  [inline]

Definition at line 103 of file ios_base.h.

_Ios_Openmode std::operator & ( _Ios_Openmode  __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 119 of file ios_base.h.

_Ios_Openmode std::operator| ( _Ios_Openmode  __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 123 of file ios_base.h.

_Ios_Openmode std::operator^ ( _Ios_Openmode  __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 127 of file ios_base.h.

_Ios_Openmode& std::operator|= ( _Ios_Openmode __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 131 of file ios_base.h.

_Ios_Openmode& std::operator &= ( _Ios_Openmode __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 135 of file ios_base.h.

_Ios_Openmode& std::operator^= ( _Ios_Openmode __a,
_Ios_Openmode  __b 
) [inline]

Definition at line 139 of file ios_base.h.

_Ios_Openmode std::operator~ ( _Ios_Openmode  __a  )  [inline]

Definition at line 143 of file ios_base.h.

_Ios_Iostate std::operator & ( _Ios_Iostate  __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 157 of file ios_base.h.

_Ios_Iostate std::operator| ( _Ios_Iostate  __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 161 of file ios_base.h.

_Ios_Iostate std::operator^ ( _Ios_Iostate  __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 165 of file ios_base.h.

_Ios_Iostate& std::operator|= ( _Ios_Iostate __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 169 of file ios_base.h.

_Ios_Iostate& std::operator &= ( _Ios_Iostate __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 173 of file ios_base.h.

_Ios_Iostate& std::operator^= ( _Ios_Iostate __a,
_Ios_Iostate  __b 
) [inline]

Definition at line 177 of file ios_base.h.

_Ios_Iostate std::operator~ ( _Ios_Iostate  __a  )  [inline]

Definition at line 181 of file ios_base.h.

ios_base& std::boolalpha ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::boolalpha).

Definition at line 788 of file ios_base.h.

References std::ios_base::boolalpha, and std::ios_base::setf().

ios_base& std::noboolalpha ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::boolalpha).

Definition at line 796 of file ios_base.h.

References std::ios_base::boolalpha, and std::ios_base::unsetf().

ios_base& std::showbase ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::showbase).

Definition at line 804 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::showbase.

ios_base& std::noshowbase ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::showbase).

Definition at line 812 of file ios_base.h.

References std::ios_base::showbase, and std::ios_base::unsetf().

ios_base& std::showpoint ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::showpoint).

Definition at line 820 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::showpoint.

ios_base& std::noshowpoint ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::showpoint).

Definition at line 828 of file ios_base.h.

References std::ios_base::showpoint, and std::ios_base::unsetf().

ios_base& std::showpos ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::showpos).

Definition at line 836 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::showpos.

ios_base& std::noshowpos ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::showpos).

Definition at line 844 of file ios_base.h.

References std::ios_base::showpos, and std::ios_base::unsetf().

ios_base& std::skipws ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::skipws).

Definition at line 852 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::skipws.

ios_base& std::noskipws ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::skipws).

Definition at line 860 of file ios_base.h.

References std::ios_base::skipws, and std::ios_base::unsetf().

ios_base& std::uppercase ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::uppercase).

Definition at line 868 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::uppercase.

ios_base& std::nouppercase ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::uppercase).

Definition at line 876 of file ios_base.h.

References std::ios_base::unsetf(), and std::ios_base::uppercase.

ios_base& std::unitbuf ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::unitbuf).

Definition at line 884 of file ios_base.h.

References std::ios_base::setf(), and std::ios_base::unitbuf.

ios_base& std::nounitbuf ( ios_base &  __base  )  [inline]

Calls base.unsetf(ios_base::unitbuf).

Definition at line 892 of file ios_base.h.

References std::ios_base::unitbuf, and std::ios_base::unsetf().

ios_base& std::internal ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::internal, ios_base::adjustfield).

Definition at line 901 of file ios_base.h.

References std::ios_base::adjustfield, std::ios_base::internal, and std::ios_base::setf().

ios_base& std::left ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::left, ios_base::adjustfield).

Definition at line 909 of file ios_base.h.

References std::ios_base::adjustfield, std::ios_base::left, and std::ios_base::setf().

ios_base& std::right ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::right, ios_base::adjustfield).

Definition at line 917 of file ios_base.h.

References std::ios_base::adjustfield, std::ios_base::right, and std::ios_base::setf().

ios_base& std::dec ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::dec, ios_base::basefield).

Definition at line 926 of file ios_base.h.

References std::ios_base::basefield, std::ios_base::dec, and std::ios_base::setf().

ios_base& std::hex ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::hex, ios_base::basefield).

Definition at line 934 of file ios_base.h.

References std::ios_base::basefield, std::ios_base::hex, and std::ios_base::setf().

ios_base& std::oct ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::oct, ios_base::basefield).

Definition at line 942 of file ios_base.h.

References std::ios_base::basefield, std::ios_base::oct, and std::ios_base::setf().

ios_base& std::fixed ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::fixed, ios_base::floatfield).

Definition at line 951 of file ios_base.h.

References std::ios_base::fixed, std::ios_base::floatfield, and std::ios_base::setf().

ios_base& std::scientific ( ios_base &  __base  )  [inline]

Calls base.setf(ios_base::scientific, ios_base::floatfield).

Definition at line 959 of file ios_base.h.

References std::ios_base::floatfield, std::ios_base::scientific, and std::ios_base::setf().

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

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::goodbit, std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

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:

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

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

If no characters are extracted, sets failbit.

Definition at line 1050 of file istream.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::getloc(), std::ios_base::goodbit, max(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), ctype_base::space, and std::ios_base::width().

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

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

template<typename _Tv>
void std::__convert_to_v ( const char *  __in,
_Tv &  __out,
ios_base::iostate &  __err,
const __c_locale __cloc 
)

Referenced by std::money_get< _CharT, _InIter >::do_get(), and std::num_get< _CharT, _InIter >::do_get().

template<>
void std::__convert_to_v ( const char *  ,
float &  ,
ios_base::iostate &  ,
const __c_locale  
)

template<>
void std::__convert_to_v ( const char *  ,
double &  ,
ios_base::iostate &  ,
const __c_locale  
)

template<>
void std::__convert_to_v ( const char *  ,
long double &  ,
ios_base::iostate &  ,
const __c_locale  
)

template<typename _CharT>
_CharT * std::__add_grouping ( _CharT *  __s,
_CharT  __sep,
const char *  __gbeg,
size_t  __gsize,
const _CharT *  __first,
const _CharT *  __last 
)

Definition at line 2548 of file locale_facets.tcc.

Referenced by std::num_put< _CharT, _OutIter >::_M_group_float(), std::num_put< _CharT, _OutIter >::_M_group_int(), and std::money_put< _CharT, _OutIter >::_M_insert().

template<typename _CharT>
ostreambuf_iterator<_CharT> std::__write ( ostreambuf_iterator< _CharT >  __s,
const _CharT *  __ws,
int  __len 
) [inline]

Definition at line 112 of file locale_facets.h.

References std::ostreambuf_iterator< _CharT, _Traits >::_M_put().

Referenced by std::money_put< _CharT, _OutIter >::_M_insert(), std::num_put< _CharT, _OutIter >::_M_insert_float(), std::num_put< _CharT, _OutIter >::_M_insert_int(), std::time_put< _CharT, _OutIter >::do_put(), and std::num_put< _CharT, _OutIter >::do_put().

template<typename _CharT, typename _OutIter>
_OutIter std::__write ( _OutIter  __s,
const _CharT *  __ws,
int  __len 
) [inline]

Definition at line 122 of file locale_facets.h.

template<>
const ctype<char>& std::use_facet< ctype< char > > ( const locale &  __loc  ) 

template<typename _CharT>
bool std::isspace ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::space, __c).

Definition at line 4561 of file locale_facets.h.

References ctype_base::space.

template<typename _CharT>
bool std::isprint ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::print, __c).

Definition at line 4567 of file locale_facets.h.

References ctype_base::print.

template<typename _CharT>
bool std::iscntrl ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::cntrl, __c).

Definition at line 4573 of file locale_facets.h.

References ctype_base::cntrl.

template<typename _CharT>
bool std::isupper ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::upper, __c).

Definition at line 4579 of file locale_facets.h.

References ctype_base::upper.

template<typename _CharT>
bool std::islower ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::lower, __c).

Definition at line 4585 of file locale_facets.h.

References ctype_base::lower.

template<typename _CharT>
bool std::isalpha ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::alpha, __c).

Definition at line 4591 of file locale_facets.h.

References ctype_base::alpha.

template<typename _CharT>
bool std::isdigit ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::digit, __c).

Definition at line 4597 of file locale_facets.h.

References ctype_base::digit.

template<typename _CharT>
bool std::ispunct ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::punct, __c).

Definition at line 4603 of file locale_facets.h.

References ctype_base::punct.

template<typename _CharT>
bool std::isxdigit ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::xdigit, __c).

Definition at line 4609 of file locale_facets.h.

References ctype_base::xdigit.

template<typename _CharT>
bool std::isalnum ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::alnum, __c).

Definition at line 4615 of file locale_facets.h.

References ctype_base::alnum.

template<typename _CharT>
bool std::isgraph ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.is(ctype_base::graph, __c).

Definition at line 4621 of file locale_facets.h.

References ctype_base::graph.

template<typename _CharT>
_CharT std::toupper ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.toupper(__c).

Definition at line 4627 of file locale_facets.h.

template<typename _CharT>
_CharT std::tolower ( _CharT  __c,
const locale &  __loc 
) [inline]

Convenience interface to ctype.tolower(__c).

Definition at line 4633 of file locale_facets.h.

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 88 of file locale_facets.tcc.

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 110 of file locale_facets.tcc.

References __throw_bad_cast(), and std::locale::_M_impl.

bool std::__verify_grouping ( const char *  __grouping,
size_t  __grouping_size,
const string __grouping_tmp 
) [static]

Definition at line 2523 of file locale_facets.tcc.

References min().

Referenced by std::money_get< _CharT, _InIter >::_M_extract(), std::num_get< _CharT, _InIter >::_M_extract_float(), and std::num_get< _CharT, _InIter >::_M_extract_int().

template<typename _CharT>
_GLIBCXX_END_LDBL_NAMESPACE int std::__int_to_char ( _CharT *  __bufend,
long  __v,
const _CharT *  __lit,
ios_base::fmtflags  __flags 
) [inline]

Definition at line 853 of file locale_facets.tcc.

References std::ios_base::basefield, std::ios_base::hex, and std::ios_base::oct.

Referenced by __int_to_char(), and std::num_put< _CharT, _OutIter >::_M_insert_int().

template<typename _CharT>
int std::__int_to_char ( _CharT *  __bufend,
unsigned long  __v,
const _CharT *  __lit,
ios_base::fmtflags  __flags 
) [inline]

Definition at line 866 of file locale_facets.tcc.

References __int_to_char().

template<typename _CharT, typename _ValueT>
int std::__int_to_char ( _CharT *  __bufend,
_ValueT  __v,
const _CharT *  __lit,
ios_base::fmtflags  __flags,
bool   
)

Definition at line 894 of file locale_facets.tcc.

References std::__num_base::_S_odigits, std::__num_base::_S_oudigits, std::ios_base::hex, std::ios_base::oct, and std::ios_base::uppercase.

template<typename _Facet>
const _Facet& std::__check_facet ( const _Facet *  __f  )  [inline]

Definition at line 188 of file localefwd.h.

References __throw_bad_cast().

Referenced by std::basic_filebuf< _CharT, _Traits >::_M_convert_to_external(), std::basic_filebuf< _CharT, _Traits >::_M_terminate_output(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_ios< _CharT, _Traits >::narrow(), std::basic_ostream< _CharT, _Traits >::operator<<(), std::basic_istream< _CharT, _Traits >::operator>>(), std::basic_istream< _CharT, _Traits >::sentry::sentry(), std::basic_filebuf< _CharT, _Traits >::showmanyc(), std::basic_filebuf< _CharT, _Traits >::underflow(), std::basic_ios< _CharT, _Traits >::widen(), std::basic_filebuf< _CharT, _Traits >::xsgetn(), and std::basic_filebuf< _CharT, _Traits >::xsputn().

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

References std::ios_base::badbit.

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

Definition at line 628 of file ostream.tcc.

References std::ios_base::badbit.

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

References std::ios_base::badbit.

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

Definition at line 690 of file ostream.tcc.

References std::ios_base::badbit.

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

Definition at line 735 of file ostream.tcc.

References std::ios_base::badbit.

template<typename _InputIterator, typename _Function>
_Function std::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 153 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _Tp>
_InputIterator std::__find ( _InputIterator  __first,
_InputIterator  __last,
const _Tp &  __val,
input_iterator_tag   
) [inline]

Definition at line 170 of file stl_algo.h.

Referenced by find().

template<typename _InputIterator, typename _Predicate>
_InputIterator std::__find_if ( _InputIterator  __first,
_InputIterator  __last,
_Predicate  __pred,
input_iterator_tag   
) [inline]

Definition at line 185 of file stl_algo.h.

Referenced by find_if().

template<typename _RandomAccessIterator, typename _Tp>
_RandomAccessIterator std::__find ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
const _Tp &  __val,
random_access_iterator_tag   
)

Definition at line 200 of file stl_algo.h.

template<typename _RandomAccessIterator, typename _Predicate>
_RandomAccessIterator std::__find_if ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Predicate  __pred,
random_access_iterator_tag   
)

Definition at line 252 of file stl_algo.h.

template<typename _InputIterator, typename _Tp>
_InputIterator std::find ( _InputIterator  __first,
_InputIterator  __last,
const _Tp &  __val 
) [inline]

Find the first occurrence of a value in a sequence.

Parameters:
first An input iterator.
last An input iterator.
val The value to find.
Returns:
The first iterator i in the range [first,last) such that *i == val, or last if no such iterator exists.

Definition at line 307 of file stl_algo.h.

References __find(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and __iterator_category().

Referenced by __search_n(), std::money_get< _CharT, _InIter >::_M_extract(), std::num_get< _CharT, _InIter >::_M_extract_float(), std::num_get< _CharT, _InIter >::_M_extract_int(), std::num_put< _CharT, _OutIter >::_M_insert_float(), pb_assoc::detail::value_type_adapter< Key, Data, DS_Tag, Policy_Tl, Allocator, Mapping_Level >::erase(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find(), pb_assoc::detail::value_type_adapter< Key, Data, DS_Tag, Policy_Tl, Allocator, Mapping_Level >::find(), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find(), std::basic_string< _CharT, _Traits, _Alloc >::find(), pb_assoc::basic_assoc_cntnr< Key, null_data_type, DS_Tag, Policy_Tl, Allocator >::find(), pb_assoc::basic_assoc_cntnr< Key, compound_data_type< Cntnr >, DS_Tag, Policy_Tl, Allocator >::find(), pb_assoc::basic_assoc_cntnr< Key, Data, DS_Tag, Policy_Tl, Allocator >::find(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find_first_not_of(), std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find_first_of(), std::basic_string< _CharT, _Traits, _Alloc >::find_first_of(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find_last_not_of(), std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find_last_of(), std::basic_string< _CharT, _Traits, _Alloc >::find_last_of(), remove(), search(), and search_n().

template<typename _InputIterator, typename _Predicate>
_InputIterator std::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 329 of file stl_algo.h.

References __find_if(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and __iterator_category().

Referenced by remove_if().

template<typename _ForwardIterator>
_ForwardIterator std::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 351 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by unique().

template<typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::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 382 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _Tp>
iterator_traits<_InputIterator>::difference_type std::count ( _InputIterator  __first,
_InputIterator  __last,
const _Tp &  __value 
)

Count the number of copies of a value in a sequence.

Parameters:
first An input iterator.
last An input iterator.
value The value to be counted.
Returns:
The number of iterators i in the range [first,last) for which *i == value

Definition at line 413 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _Predicate>
iterator_traits<_InputIterator>::difference_type std::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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator1 std::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 __glibcxx_function_requires, __glibcxx_requires_valid_range, and find().

Referenced by __find_end(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::find(), __gnu_cxx::rope< _CharT, _Alloc >::find(), and std::basic_string< _CharT, _Traits, _Alloc >::find().

template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
_ForwardIterator1 std::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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator, typename _Integer, typename _Tp>
_ForwardIterator std::__search_n ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Integer  __count,
const _Tp &  __val,
std::forward_iterator_tag   
)

Definition at line 619 of file stl_algo.h.

References find().

Referenced by search_n().

template<typename _RandomAccessIter, typename _Integer, typename _Tp>
_RandomAccessIter std::__search_n ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_Integer  __count,
const _Tp &  __val,
std::random_access_iterator_tag   
)

Definition at line 653 of file stl_algo.h.

template<typename _ForwardIterator, typename _Integer, typename _Tp>
_ForwardIterator std::search_n ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Integer  __count,
const _Tp &  __val 
)

Search a sequence for a number of consecutive values.

Parameters:
first A forward iterator.
last A forward iterator.
count The number of consecutive values.
val The value to find.
Returns:
The first iterator i in the range [first,last-count) such that *(i+N) == val for each N in the range [0,count), or last if no such iterator exists.
Searches the range [first,last) for count consecutive elements equal to val.

Definition at line 711 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __iterator_category(), __search_n(), and find().

template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate>
_ForwardIterator std::__search_n ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Integer  __count,
const _Tp &  __val,
_BinaryPredicate  __binary_pred,
std::forward_iterator_tag   
)

Definition at line 739 of file stl_algo.h.

template<typename _RandomAccessIter, typename _Integer, typename _Tp, typename _BinaryPredicate>
_RandomAccessIter std::__search_n ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_Integer  __count,
const _Tp &  __val,
_BinaryPredicate  __binary_pred,
std::random_access_iterator_tag   
)

Definition at line 779 of file stl_algo.h.

template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate>
_ForwardIterator std::search_n ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Integer  __count,
const _Tp &  __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 840 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __iterator_category(), and __search_n().

template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator2 std::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 875 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and iter_swap().

Referenced by __rotate(), std::tr1::swap(), and std::tr1::array< _Tp, _Nm >::swap().

template<typename _InputIterator, typename _OutputIterator, typename _UnaryOperation>
_OutputIterator std::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 914 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _BinaryOperation>
_OutputIterator std::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 949 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator, typename _Tp>
void std::replace ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __old_value,
const _Tp &  __new_value 
)

Replace each occurrence of one value in a sequence with another value.

Parameters:
first A forward iterator.
last A forward iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
replace() returns no value.
For each iterator i in the range [first,last) if *i == old_value then the assignment *i = new_value is performed.

Definition at line 980 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace().

template<typename _ForwardIterator, typename _Predicate, typename _Tp>
void std::replace_if ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Predicate  __pred,
const _Tp &  __new_value 
)

Replace each value in a sequence for which a predicate returns true with another value.

Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate.
new_value The replacement value.
Returns:
replace_if() returns no value.
For each iterator i in the range [first,last) if pred(*i) is true then the assignment *i = new_value is performed.

Definition at line 1011 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator, typename _Tp>
_OutputIterator std::replace_copy ( _InputIterator  __first,
_InputIterator  __last,
_OutputIterator  __result,
const _Tp &  __old_value,
const _Tp &  __new_value 
)

Copy a sequence, replacing each element of one value with another value.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the input range [first,last) to the output range [result,result+(last-first)) replacing elements equal to old_value with new_value.

Definition at line 1044 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp>
_OutputIterator std::replace_copy_if ( _InputIterator  __first,
_InputIterator  __last,
_OutputIterator  __result,
_Predicate  __pred,
const _Tp &  __new_value 
)

Copy a sequence, replacing each value for which a predicate returns true with another value.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
pred A predicate.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the range [first,last) to the range [result,result+(last-first)) replacing elements for which pred returns true with new_value.

Definition at line 1081 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator, typename _Generator>
void std::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 1114 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _OutputIterator, typename _Size, typename _Generator>
_OutputIterator std::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 1140 of file stl_algo.h.

References __glibcxx_function_requires.

template<typename _InputIterator, typename _OutputIterator, typename _Tp>
_OutputIterator std::remove_copy ( _InputIterator  __first,
_InputIterator  __last,
_OutputIterator  __result,
const _Tp &  __value 
)

Copy a sequence, removing elements of a given value.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) not equal to value to the range beginning at result. remove_copy() is stable, so the relative order of elements that are copied is unchanged.

Definition at line 1167 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by remove().

template<typename _InputIterator, typename _OutputIterator, typename _Predicate>
_OutputIterator std::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 1204 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by remove_if().

template<typename _ForwardIterator, typename _Tp>
_ForwardIterator std::remove ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __value 
)

Remove elements from a sequence.

Parameters:
first An input iterator.
last An input iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
All elements equal to value are removed from the range [first,last).

remove() is stable, so the relative order of elements that are not removed is unchanged.

Elements between the end of the resulting sequence and last are still present, but their value is unspecified.

Definition at line 1242 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, find(), and remove_copy().

template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator std::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 1277 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, find_if(), and remove_copy_if().

template<typename _InputIterator, typename _OutputIterator>
_OutputIterator std::__unique_copy ( _InputIterator  __first,
_InputIterator  __last,
_OutputIterator  __result,
output_iterator_tag   
)

Definition at line 1303 of file stl_algo.h.

Referenced by unique_copy().

template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::__unique_copy ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
forward_iterator_tag   
)

Definition at line 1328 of file stl_algo.h.

template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
_OutputIterator std::__unique_copy ( _InputIterator  __first,
_InputIterator  __last,
_OutputIterator  __result,
_BinaryPredicate  __binary_pred,
output_iterator_tag   
)

Definition at line 1351 of file stl_algo.h.

References __glibcxx_function_requires.

template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::__unique_copy ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
_BinaryPredicate  __binary_pred,
forward_iterator_tag   
)

Definition at line 1383 of file stl_algo.h.

References __glibcxx_function_requires.

template<typename _InputIterator, typename _OutputIterator>
_OutputIterator std::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 1414 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __unique_copy().

template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
_OutputIterator std::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 1450 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __unique_copy().

template<typename _ForwardIterator>
_ForwardIterator std::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 1483 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and adjacent_find().

template<typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::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 1522 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and adjacent_find().

template<typename _BidirectionalIterator>
void std::__reverse ( _BidirectionalIterator  __first,
_BidirectionalIterator  __last,
bidirectional_iterator_tag   
)

Definition at line 1556 of file stl_algo.h.

References iter_swap().

Referenced by __rotate(), and reverse().

template<typename _RandomAccessIterator>
void std::__reverse ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
random_access_iterator_tag   
)

Definition at line 1578 of file stl_algo.h.

References iter_swap().

template<typename _BidirectionalIterator>
void std::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 1605 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __iterator_category(), and __reverse().

Referenced by next_permutation(), and prev_permutation().

template<typename _BidirectionalIterator, typename _OutputIterator>
_OutputIterator std::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 1631 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _EuclideanRingElement>
_EuclideanRingElement std::__gcd ( _EuclideanRingElement  __m,
_EuclideanRingElement  __n 
)

Definition at line 1659 of file stl_algo.h.

Referenced by __rotate().

template<typename _ForwardIterator>
void std::__rotate ( _ForwardIterator  __first,
_ForwardIterator  __middle,
_ForwardIterator  __last,
forward_iterator_tag   
)

Definition at line 1677 of file stl_algo.h.

References swap().

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object(), and rotate().

template<typename _BidirectionalIterator>
void std::__rotate ( _BidirectionalIterator  __first,
_BidirectionalIterator  __middle,
_BidirectionalIterator  __last,
bidirectional_iterator_tag   
)

Definition at line 1717 of file stl_algo.h.

References __glibcxx_function_requires, __reverse(), and swap().

template<typename _RandomAccessIterator>
void std::__rotate ( _RandomAccessIterator  __first,
_RandomAccessIterator  __middle,
_RandomAccessIterator  __last,
random_access_iterator_tag   
)

Definition at line 1751 of file stl_algo.h.

References __gcd(), __glibcxx_function_requires, and swap_ranges().

template<typename _ForwardIterator>
void std::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 1838 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __rotate().

Referenced by __inplace_stable_partition(), __merge_without_buffer(), __rotate_adaptive(), and __stable_partition_adaptive().

template<typename _ForwardIterator, typename _OutputIterator>
_OutputIterator std::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 1871 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and copy().

template<typename _RandomAccessIterator>
void std::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 1897 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and iter_swap().

template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
void std::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 1924 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and iter_swap().

template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator std::__partition ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Predicate  __pred,
forward_iterator_tag   
)

Definition at line 1946 of file stl_algo.h.

References swap().

Referenced by partition().

template<typename _BidirectionalIterator, typename _Predicate>
_BidirectionalIterator std::__partition ( _BidirectionalIterator  __first,
_BidirectionalIterator  __last,
_Predicate  __pred,
bidirectional_iterator_tag   
)

Definition at line 1976 of file stl_algo.h.

References iter_swap().

template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator std::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 2018 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __iterator_category(), and __partition().

template<typename _ForwardIterator, typename _Predicate, typename _Distance>
_ForwardIterator std::__inplace_stable_partition ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Predicate  __pred,
_Distance  __len 
)

Definition at line 2040 of file stl_algo.h.

References advance(), distance(), and rotate().

Referenced by stable_partition().

template<typename _ForwardIterator, typename _Pointer, typename _Predicate, typename _Distance>
_ForwardIterator std::__stable_partition_adaptive ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Predicate  __pred,
_Distance  __len,
_Pointer  __buffer,
_Distance  __buffer_size 
)

Definition at line 2069 of file stl_algo.h.

References advance(), copy(), distance(), and rotate().

Referenced by stable_partition().

template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator std::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 2129 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __inplace_stable_partition(), __stable_partition_adaptive(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), std::_Temporary_buffer< _ForwardIterator, _Tp >::requested_size(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().

template<typename _RandomAccessIterator, typename _Tp>
_RandomAccessIterator std::__unguarded_partition ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Tp  __pivot 
)

Definition at line 2169 of file stl_algo.h.

References iter_swap().

Referenced by __introsort_loop(), and nth_element().

template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
_RandomAccessIterator std::__unguarded_partition ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Tp  __pivot,
_Compare  __comp 
)

Definition at line 2193 of file stl_algo.h.

References iter_swap().

template<typename _RandomAccessIterator, typename _Tp>
void std::__unguarded_linear_insert ( _RandomAccessIterator  __last,
_Tp  __val 
)

Definition at line 2226 of file stl_algo.h.

Referenced by __insertion_sort(), and __unguarded_insertion_sort().

template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
void std::__unguarded_linear_insert ( _RandomAccessIterator  __last,
_Tp  __val,
_Compare  __comp 
)

Definition at line 2246 of file stl_algo.h.

template<typename _RandomAccessIterator>
void std::__insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Definition at line 2267 of file stl_algo.h.

References __unguarded_linear_insert(), __gnu_cxx::__val, and copy_backward().

Referenced by __chunk_insertion_sort(), __final_insertion_sort(), __inplace_stable_sort(), and nth_element().

template<typename _RandomAccessIterator, typename _Compare>
void std::__insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

Definition at line 2294 of file stl_algo.h.

References __unguarded_linear_insert(), __gnu_cxx::__val, and copy_backward().

template<typename _RandomAccessIterator>
void std::__unguarded_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
) [inline]

Definition at line 2320 of file stl_algo.h.

References __unguarded_linear_insert().

Referenced by __final_insertion_sort().

template<typename _RandomAccessIterator, typename _Compare>
void std::__unguarded_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
) [inline]

Definition at line 2337 of file stl_algo.h.

References __unguarded_linear_insert().

template<typename _RandomAccessIterator>
void std::__final_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Definition at line 2354 of file stl_algo.h.

References __insertion_sort(), __unguarded_insertion_sort(), and _S_threshold.

Referenced by sort().

template<typename _RandomAccessIterator, typename _Compare>
void std::__final_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

Definition at line 2373 of file stl_algo.h.

References __insertion_sort(), __unguarded_insertion_sort(), and _S_threshold.

template<typename _Size>
_Size std::__lg ( _Size  __n  )  [inline]

Definition at line 2393 of file stl_algo.h.

Referenced by sort().

template<typename _RandomAccessIterator>
void std::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 2418 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __pop_heap(), make_heap(), and sort_heap().

Referenced by __introsort_loop().

template<typename _RandomAccessIterator, typename _Compare>
void std::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 2459 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __pop_heap(), make_heap(), and sort_heap().

template<typename _InputIterator, typename _RandomAccessIterator>
_RandomAccessIterator std::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 2501 of file stl_algo.h.

References __adjust_heap(), __glibcxx_function_requires, __glibcxx_requires_valid_range, make_heap(), and sort_heap().

template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare>
_RandomAccessIterator std::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 2565 of file stl_algo.h.

References __adjust_heap(), __glibcxx_function_requires, __glibcxx_requires_valid_range, make_heap(), and sort_heap().

template<typename _RandomAccessIterator, typename _Size>
void std::__introsort_loop ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Size  __depth_limit 
)

Definition at line 2619 of file stl_algo.h.

References __median(), __unguarded_partition(), _S_threshold, and partial_sort().

Referenced by __introsort_loop(), and sort().

template<typename _RandomAccessIterator, typename _Size, typename _Compare>
void std::__introsort_loop ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Size  __depth_limit,
_Compare  __comp 
)

Definition at line 2655 of file stl_algo.h.

References __introsort_loop(), __median(), __unguarded_partition(), _S_threshold, and partial_sort().

template<typename _RandomAccessIterator>
void std::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 2700 of file stl_algo.h.

References __final_insertion_sort(), __glibcxx_function_requires, __glibcxx_requires_valid_range, __introsort_loop(), and __lg().

Referenced by __gnu_debug_def::list< _Tp, _Allocator >::sort().

template<typename _RandomAccessIterator, typename _Compare>
void std::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 2734 of file stl_algo.h.

References __final_insertion_sort(), __glibcxx_function_requires, __glibcxx_requires_valid_range, __introsort_loop(), and __lg().

template<typename _ForwardIterator, typename _Tp>
_ForwardIterator std::lower_bound ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val 
)

Finds the first position in which val could be inserted without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
Returns:
An iterator pointing to the first element "not less than" val, or end() if every element is less than val.

Definition at line 2767 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned, advance(), and distance().

Referenced by __merge_adaptive(), __merge_without_buffer(), __gnu_cxx::__stl_next_prime(), binary_search(), Internal::prime_rehash_policy::bkt_for_elements(), equal_range(), Internal::prime_rehash_policy::need_rehash(), and Internal::prime_rehash_policy::next_bkt().

template<typename _ForwardIterator, typename _Tp, typename _Compare>
_ForwardIterator std::lower_bound ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val,
_Compare  __comp 
)

Finds the first position in which val could be inserted without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
comp A functor to use for comparisons.
Returns:
An iterator pointing to the first element "not less than" val, or end() if every element is less than val.
The comparison function should have the same effects on ordering as the function used for the initial sort.

Definition at line 2822 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned_pred, advance(), and distance().

template<typename _ForwardIterator, typename _Tp>
_ForwardIterator std::upper_bound ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val 
)

Finds the last position in which val could be inserted without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
Returns:
An iterator pointing to the first element greater than val, or end() if no elements are greater than val.

Definition at line 2869 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned, advance(), and distance().

Referenced by __merge_adaptive(), __merge_without_buffer(), and equal_range().

template<typename _ForwardIterator, typename _Tp, typename _Compare>
_ForwardIterator std::upper_bound ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val,
_Compare  __comp 
)

Finds the last position in which val could be inserted without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
comp A functor to use for comparisons.
Returns:
An iterator pointing to the first element greater than val, or end() if no elements are greater than val.
The comparison function should have the same effects on ordering as the function used for the initial sort.

Definition at line 2921 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned_pred, advance(), and distance().

template<typename _BidirectionalIterator, typename _Distance>
void std::__merge_without_buffer ( _BidirectionalIterator  __first,
_BidirectionalIterator  __middle,
_BidirectionalIterator  __last,
_Distance  __len1,
_Distance  __len2 
)

Definition at line 2963 of file stl_algo.h.

References advance(), distance(), iter_swap(), lower_bound(), rotate(), and upper_bound().

Referenced by __inplace_stable_sort(), __merge_without_buffer(), and inplace_merge().

template<typename _BidirectionalIterator, typename _Distance, typename _Compare>
void std::__merge_without_buffer ( _BidirectionalIterator  __first,
_BidirectionalIterator  __middle,
_BidirectionalIterator  __last,
_Distance  __len1,
_Distance  __len2,
_Compare  __comp 
)

Definition at line 3011 of file stl_algo.h.

References __merge_without_buffer(), advance(), distance(), iter_swap(), lower_bound(), rotate(), and upper_bound().

template<typename _RandomAccessIterator>
void std::__inplace_stable_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Definition at line 3061 of file stl_algo.h.

References __insertion_sort(), and __merge_without_buffer().

Referenced by __inplace_stable_sort(), and stable_sort().

template<typename _RandomAccessIterator, typename _Compare>
void std::__inplace_stable_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

Definition at line 3084 of file stl_algo.h.

References __inplace_stable_sort(), __insertion_sort(), and __merge_without_buffer().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
_OutputIterator std::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 3120 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted, and copy().

Referenced by __merge_adaptive(), __merge_sort_loop(), and __gnu_debug_def::list< _Tp, _Allocator >::merge().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
_OutputIterator std::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 3178 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted_pred, and copy().

template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance>
void std::__merge_sort_loop ( _RandomAccessIterator1  __first,
_RandomAccessIterator1  __last,
_RandomAccessIterator2  __result,
_Distance  __step_size 
)

Definition at line 3217 of file stl_algo.h.

References merge(), and min().

Referenced by __merge_sort_with_buffer().

template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance, typename _Compare>
void std::__merge_sort_loop ( _RandomAccessIterator1  __first,
_RandomAccessIterator1  __last,
_RandomAccessIterator2  __result,
_Distance  __step_size,
_Compare  __comp 
)

Definition at line 3240 of file stl_algo.h.

References merge(), and min().

template<typename _RandomAccessIterator, typename _Distance>
void std::__chunk_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Distance  __chunk_size 
)

Definition at line 3267 of file stl_algo.h.

References __insertion_sort().

Referenced by __merge_sort_with_buffer().

template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
void std::__chunk_insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Distance  __chunk_size,
_Compare  __comp 
)

Definition at line 3281 of file stl_algo.h.

References __insertion_sort().

template<typename _RandomAccessIterator, typename _Pointer>
void std::__merge_sort_with_buffer ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Pointer  __buffer 
)

Definition at line 3295 of file stl_algo.h.

References __chunk_insertion_sort(), __merge_sort_loop(), and _S_chunk_size.

Referenced by __stable_sort_adaptive().

template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
void std::__merge_sort_with_buffer ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Pointer  __buffer,
_Compare  __comp 
)

Definition at line 3319 of file stl_algo.h.

References __chunk_insertion_sort(), __merge_sort_loop(), and _S_chunk_size.

template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3>
_BidirectionalIterator3 std::__merge_backward ( _BidirectionalIterator1  __first1,
_BidirectionalIterator1  __last1,
_BidirectionalIterator2  __first2,
_BidirectionalIterator2  __last2,
_BidirectionalIterator3  __result 
)

Definition at line 3351 of file stl_algo.h.

References copy_backward().

Referenced by __merge_adaptive().

template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare>
_BidirectionalIterator3 std::__merge_backward ( _BidirectionalIterator1  __first1,
_BidirectionalIterator1  __last1,
_BidirectionalIterator2  __first2,
_BidirectionalIterator2  __last2,
_BidirectionalIterator3  __result,
_Compare  __comp 
)

Definition at line 3390 of file stl_algo.h.

References copy_backward().

template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _Distance>
_BidirectionalIterator1 std::__rotate_adaptive ( _BidirectionalIterator1  __first,
_BidirectionalIterator1  __middle,
_BidirectionalIterator1  __last,
_Distance  __len1,
_Distance  __len2,
_BidirectionalIterator2  __buffer,
_Distance  __buffer_size 
)

Definition at line 3430 of file stl_algo.h.

References advance(), copy(), copy_backward(), distance(), and rotate().

Referenced by __merge_adaptive().

template<typename _BidirectionalIterator, typename _Distance, typename _Pointer>
void std::__merge_adaptive ( _BidirectionalIterator  __first,
_BidirectionalIterator  __middle,
_BidirectionalIterator  __last,
_Distance  __len1,
_Distance  __len2,
_Pointer  __buffer,
_Distance  __buffer_size 
)

Definition at line 3466 of file stl_algo.h.

References __merge_backward(), __rotate_adaptive(), advance(), copy(), distance(), lower_bound(), merge(), and upper_bound().

Referenced by __merge_adaptive(), __stable_sort_adaptive(), and inplace_merge().

template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare>
void std::__merge_adaptive ( _BidirectionalIterator  __first,
_BidirectionalIterator  __middle,
_BidirectionalIterator  __last,
_Distance  __len1,
_Distance  __len2,
_Pointer  __buffer,
_Distance  __buffer_size,
_Compare  __comp 
)

Definition at line 3525 of file stl_algo.h.

References __merge_adaptive(), __merge_backward(), __rotate_adaptive(), advance(), copy(), distance(), lower_bound(), merge(), and upper_bound().

template<typename _BidirectionalIterator>
void std::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 3597 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted, __merge_adaptive(), __merge_without_buffer(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), distance(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().

template<typename _BidirectionalIterator, typename _Compare>
void std::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 3651 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted_pred, __merge_adaptive(), __merge_without_buffer(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), distance(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().

template<typename _RandomAccessIterator, typename _Pointer, typename _Distance>
void std::__stable_sort_adaptive ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Pointer  __buffer,
_Distance  __buffer_size 
)

Definition at line 3689 of file stl_algo.h.

References __merge_adaptive(), and __merge_sort_with_buffer().

Referenced by __stable_sort_adaptive(), and stable_sort().

template<typename _RandomAccessIterator, typename _Pointer, typename _Distance, typename _Compare>
void std::__stable_sort_adaptive ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Pointer  __buffer,
_Distance  __buffer_size,
_Compare  __comp 
)

Definition at line 3716 of file stl_algo.h.

References __merge_adaptive(), __merge_sort_with_buffer(), and __stable_sort_adaptive().

template<typename _RandomAccessIterator>
void std::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 3760 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __inplace_stable_sort(), __stable_sort_adaptive(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().

template<typename _RandomAccessIterator, typename _Compare>
void std::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 3801 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __inplace_stable_sort(), __stable_sort_adaptive(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().

template<typename _RandomAccessIterator>
void std::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 3842 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __insertion_sort(), __median(), and __unguarded_partition().

template<typename _RandomAccessIterator, typename _Compare>
void std::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 3893 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __insertion_sort(), __median(), and __unguarded_partition().

template<typename _ForwardIterator, typename _Tp>
pair<_ForwardIterator, _ForwardIterator> std::equal_range ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val 
)

Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
Returns:
An pair of iterators defining the subrange.
This is equivalent to
    std::make_pair(lower_bound(first, last, val),
                   upper_bound(first, last, val))
but does not actually call those functions.

Definition at line 3946 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned, advance(), distance(), lower_bound(), and upper_bound().

Referenced by __gnu_debug_def::set< _Key, _Compare, _Allocator >::equal_range(), __gnu_debug_def::multiset< _Key, _Compare, _Allocator >::equal_range(), __gnu_debug_def::multimap< _Key, _Tp, _Compare, _Allocator >::equal_range(), __gnu_debug_def::map< _Key, _Tp, _Compare, _Allocator >::equal_range(), __gnu_debug_def::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_debug_def::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_debug_def::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), and __gnu_debug_def::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range().

template<typename _ForwardIterator, typename _Tp, typename _Compare>
pair<_ForwardIterator, _ForwardIterator> std::equal_range ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val,
_Compare  __comp 
)

Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.

Parameters:
first An iterator.
last Another iterator.
val The search term.
comp A functor to use for comparisons.
Returns:
An pair of iterators defining the subrange.
This is equivalent to
    std::make_pair(lower_bound(first, last, val, comp),
                   upper_bound(first, last, val, comp))
but does not actually call those functions.

Definition at line 4008 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned_pred, advance(), distance(), lower_bound(), and upper_bound().

template<typename _ForwardIterator, typename _Tp>
bool std::binary_search ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val 
)

Determines whether an element exists in a range.

Parameters:
first An iterator.
last Another iterator.
val The search term.
Returns:
True if val (or its equivelent) is in [first,last ].
Note that this does not actually return an iterator to val. For that, use std::find or a container's specialized find member functions.

Definition at line 4066 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned, and lower_bound().

template<typename _ForwardIterator, typename _Tp, typename _Compare>
bool std::binary_search ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __val,
_Compare  __comp 
)

Determines whether an element exists in a range.

Parameters:
first An iterator.
last Another iterator.
val The search term.
comp A functor to use for comparisons.
Returns:
True if val (or its equivelent) is in [first,last ].
Note that this does not actually return an iterator to val. For that, use std::find or a container's specialized find member functions.

The comparison function should have the same effects on ordering as the function used for the initial sort.

Definition at line 4098 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_partitioned_pred, and lower_bound().

template<typename _InputIterator1, typename _InputIterator2>
bool std::includes ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2 
)

Determines whether all elements of a sequence exists in a range.

Parameters:
first1 Start of search range.
last1 End of search range.
first2 Start of sequence
last2 End of sequence.
Returns:
True if each element in [first2,last2) is contained in order within [first1,last1). False otherwise.
This operation expects both [first1,last1) and [first2,last2) to be sorted. Searches for the presence of each element in [first2,last2) within [first1,last1). The iterators over each range only move forward, so this is a linear algorithm. If an element in [first2,last2) is not found before the search iterator reaches last2, false is returned.

Definition at line 4136 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_sorted.

template<typename _InputIterator1, typename _InputIterator2, typename _Compare>
bool std::includes ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_Compare  __comp 
)

Determines whether all elements of a sequence exists in a range using comparison.

Parameters:
first1 Start of search range.
last1 End of search range.
first2 Start of sequence
last2 End of sequence.
comp Comparison function to use.
Returns:
True if each element in [first2,last2) is contained in order within [first1,last1) according to comp. False otherwise.
This operation expects both [first1,last1) and [first2,last2) to be sorted. Searches for the presence of each element in [first2,last2) within [first1,last1), using comp to decide. The iterators over each range only move forward, so this is a linear algorithm. If an element in [first2,last2) is not found before the search iterator reaches last2, false is returned.

Definition at line 4183 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_sorted_pred.

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
_OutputIterator std::set_union ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result 
)

Return the union of two sorted ranges.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in each range in order to the output range. Iterators increment for each range. When the current element of one range is less than the other, that element is copied and the iterator advanced. If an element is contained in both ranges, the element from the first range is copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4229 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted, and copy().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
_OutputIterator std::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.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
comp The comparison functor.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in each range in order to the output range. Iterators increment for each range. When the current element of one range is less than the other according to comp, that element is copied and the iterator advanced. If an equivalent element according to comp is contained in both ranges, the element from the first range is copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4291 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted_pred, and copy().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
_OutputIterator std::set_intersection ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result 
)

Return the intersection of two sorted ranges.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in both ranges in order to the output range. Iterators increment for each range. When the current element of one range is less than the other, that iterator advances. If an element is contained in both ranges, the element from the first range is copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4352 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_sorted.

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
_OutputIterator std::set_intersection ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result,
_Compare  __comp 
)

Return the intersection of two sorted ranges using comparison functor.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
comp The comparison functor.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in both ranges in order to the output range. Iterators increment for each range. When the current element of one range is less than the other according to comp, that iterator advances. If an element is contained in both ranges according to comp, the element from the first range is copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4406 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_sorted_pred.

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
_OutputIterator std::set_difference ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result 
)

Return the difference of two sorted ranges.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in the first range but not the second in order to the output range. Iterators increment for each range. When the current element of the first range is less than the second, that element is copied and the iterator advances. If the current element of the second range is less, the iterator advances, but no element is copied. If an element is contained in both ranges, no elements are copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4460 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted, and copy().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
_OutputIterator std::set_difference ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result,
_Compare  __comp 
)

Return the difference of two sorted ranges using comparison functor.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
comp The comparison functor.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in the first range but not the second in order to the output range. Iterators increment for each range. When the current element of the first range is less than the second according to comp, that element is copied and the iterator advances. If the current element of the second range is less, no element is copied and the iterator advances. If an element is contained in both ranges according to comp, no elements are copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4518 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted_pred, and copy().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
_OutputIterator std::set_symmetric_difference ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_OutputIterator  __result 
)

Return the symmetric difference of two sorted ranges.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in one range but not the other in order to the output range. Iterators increment for each range. When the current element of one range is less than the other, that element is copied and the iterator advances. If an element is contained in both ranges, no elements are copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4572 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted, and copy().

template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
_OutputIterator std::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.

Parameters:
first1 Start of first range.
last1 End of first range.
first2 Start of second range.
last2 End of second range.
comp The comparison functor.
Returns:
End of the output range.
This operation iterates over both ranges, copying elements present in one range but not the other in order to the output range. Iterators increment for each range. When the current element of one range is less than the other according to comp, that element is copied and the iterator advances. If an element is contained in both ranges according to comp, no elements are copied and both ranges advance. The output range may not overlap either input range.

Definition at line 4633 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_sorted_pred, and copy().

template<typename _ForwardIterator>
_ForwardIterator std::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 4685 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

template<typename _ForwardIterator, typename _Compare>
_ForwardIterator std::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 4712 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator>
_ForwardIterator std::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 4737 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

template<typename _ForwardIterator, typename _Compare>
_ForwardIterator std::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 4764 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _BidirectionalIterator>
bool std::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 4799 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, iter_swap(), and reverse().

template<typename _BidirectionalIterator, typename _Compare>
bool std::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 4855 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, iter_swap(), and reverse().

template<typename _BidirectionalIterator>
bool std::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 4910 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, iter_swap(), and reverse().

template<typename _BidirectionalIterator, typename _Compare>
bool std::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 4966 of file stl_algo.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, iter_swap(), and reverse().

template<typename _InputIterator, typename _ForwardIterator>
_InputIterator std::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 5025 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_first_of().

template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate>
_InputIterator std::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 5062 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator1 std::__find_end ( _ForwardIterator1  __first1,
_ForwardIterator1  __last1,
_ForwardIterator2  __first2,
_ForwardIterator2  __last2,
forward_iterator_tag  ,
forward_iterator_tag   
)

Definition at line 5091 of file stl_algo.h.

References search().

Referenced by find_end().

template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
_ForwardIterator1 std::__find_end ( _ForwardIterator1  __first1,
_ForwardIterator1  __last1,
_ForwardIterator2  __first2,
_ForwardIterator2  __last2,
forward_iterator_tag  ,
forward_iterator_tag  ,
_BinaryPredicate  __comp 
)

Definition at line 5119 of file stl_algo.h.

References search().

template<typename _BidirectionalIterator1, typename _BidirectionalIterator2>
_BidirectionalIterator1 std::__find_end ( _BidirectionalIterator1  __first1,
_BidirectionalIterator1  __last1,
_BidirectionalIterator2  __first2,
_BidirectionalIterator2  __last2,
bidirectional_iterator_tag  ,
bidirectional_iterator_tag   
)

Definition at line 5148 of file stl_algo.h.

References __glibcxx_function_requires, advance(), distance(), and search().

template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BinaryPredicate>
_BidirectionalIterator1 std::__find_end ( _BidirectionalIterator1  __first1,
_BidirectionalIterator1  __last1,
_BidirectionalIterator2  __first2,
_BidirectionalIterator2  __last2,
bidirectional_iterator_tag  ,
bidirectional_iterator_tag  ,
_BinaryPredicate  __comp 
)

Definition at line 5181 of file stl_algo.h.

References __glibcxx_function_requires, advance(), distance(), and search().

template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator1 std::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 5241 of file stl_algo.h.

References __find_end(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and __iterator_category().

template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
_ForwardIterator1 std::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 5287 of file stl_algo.h.

References __find_end(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and __iterator_category().

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

Swaps two values.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
Nothing.
This is the simple classic generic implementation. It will work on any type which has a copy constructor and an assignment operator.

Definition at line 92 of file stl_algobase.h.

References __glibcxx_function_requires.

template<typename _ForwardIterator1, typename _ForwardIterator2>
void std::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 142 of file stl_algobase.h.

References __glibcxx_function_requires.

Referenced by __merge_without_buffer(), __partition(), __reverse(), __unguarded_partition(), next_permutation(), prev_permutation(), random_shuffle(), and swap_ranges().

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

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The lesser of the parameters.
This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 184 of file stl_algobase.h.

References __glibcxx_function_requires.

Referenced by __gnu_cxx::__lexicographical_compare_3way(), __merge_sort_loop(), __verify_grouping(), _GLIBCXX_STD::bitset< _Nb >::_M_copy_from_string(), std::num_get< _CharT, _InIter >::_M_extract_int(), std::time_get< _CharT, _InIter >::_M_extract_name(), __gnu_cxx::rope< _CharT, _Alloc >::_S_apply_to_pieces(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare(), std::basic_string< _CharT, _Traits, _Alloc >::compare(), std::basic_string< _CharT, _Traits, _Allocator >::compare(), std::codecvt< _InternT, _ExternT, encoding_state >::do_length(), std::basic_istream< _CharT, _Traits >::ignore(), lexicographical_compare(), std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow(), __gnu_cxx::random_sample_n(), std::basic_istream< _CharT, _Traits >::readsome(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::rfind(), std::basic_string< _CharT, _Traits, _Alloc >::rfind(), std::basic_filebuf< _CharT, _Traits >::underflow(), std::basic_streambuf< _CharT, _Traits >::xsgetn(), std::basic_streambuf< _CharT, _Traits >::xsputn(), and std::basic_filebuf< _CharT, _Traits >::xsputn().

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

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The greater of the parameters.
This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 206 of file stl_algobase.h.

References __glibcxx_function_requires.

Referenced by __complex_abs(), __get_temporary_buffer(), std::num_get< _CharT, _InIter >::_M_extract_int(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_reallocate_map(), __gnu_cxx::rope< _CharT, _Alloc >::_S_apply_to_pieces(), std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::hashtable(), std::basic_istream< _CharT, _Traits >::ignore(), allocator< _Tp >::init_page_size(), allocator< _Tp >::max_size(), Internal::prime_rehash_policy::need_rehash(), operator>>(), std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow(), and std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::rehash().

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

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The lesser of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 228 of file stl_algobase.h.

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

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The greater of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 248 of file stl_algobase.h.

template<typename _II, typename _OI>
_OI std::__copy_aux ( _II  __first,
_II  __last,
_OI  __result 
) [inline]

Definition at line 307 of file stl_algobase.h.

References std::__copy<, >::copy().

Referenced by std::__copy_normal< true, true >::copy_n(), std::__copy_normal< false, true >::copy_n(), std::__copy_normal< true, false >::copy_n(), and std::__copy_normal<, >::copy_n().

template<typename _InputIterator, typename _OutputIterator>
_OutputIterator std::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 375 of file stl_algobase.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and std::__copy_normal<, >::copy_n().

Referenced by __gnu_cxx::__copy_n(), __merge_adaptive(), __rotate_adaptive(), __stable_partition_adaptive(), __uninitialized_copy_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::deque< _Tp, _Allocator >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), std::basic_string< _CharT, _Traits, _Allocator >::_M_copy(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), std::num_put< _CharT, _OutIter >::_M_group_float(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_initialize_range(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_reallocate_map(), __gnu_cxx::__sso_string_base< _CharT, _Traits, _Alloc >::_M_swap(), __gnu_cxx::__vstring_utility< _CharT, _Traits, _Alloc >::_S_copy(), std::__pad< _CharT, _Traits >::_S_pad(), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::copy(), std::char_traits< __gnu_cxx::character< V, I, S > >::copy(), __gnu_cxx::char_traits< _CharT >::copy(), std::codecvt< _InternT, _ExternT, encoding_state >::do_in(), std::codecvt< _InternT, _ExternT, encoding_state >::do_out(), _GLIBCXX_STD::vector< _Tp, _Alloc >::erase(), _GLIBCXX_STD::vector< bool, _Alloc >::erase(), _GLIBCXX_STD::deque< _Tp, _Alloc >::erase(), merge(), _GLIBCXX_STD::vector< bool, _Alloc >::operator=(), __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >::operator=(), _GLIBCXX_STD::deque< _Tp, _Alloc >::operator=(), _GLIBCXX_STD::vector< bool, _Alloc >::reserve(), rotate_copy(), __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >::sequence_buffer(), set_difference(), set_symmetric_difference(), set_union(), std::basic_filebuf< _CharT, _Traits >::underflow(), _GLIBCXX_STD::vector< bool, _Alloc >::vector(), std::basic_streambuf< _CharT, _Traits >::xsgetn(), std::basic_filebuf< _CharT, _Traits >::xsgetn(), and std::basic_streambuf< _CharT, _Traits >::xsputn().

template<typename _BI1, typename _BI2>
_BI2 std::__copy_backward_aux ( _BI1  __first,
_BI1  __last,
_BI2  __result 
) [inline]

Definition at line 432 of file stl_algobase.h.

References std::__copy_backward<, >::copy_b().

Referenced by std::__copy_backward_normal< true, true >::copy_b_n(), std::__copy_backward_normal< false, true >::copy_b_n(), std::__copy_backward_normal< true, false >::copy_b_n(), and std::__copy_backward_normal<, >::copy_b_n().

template<typename _BI1, typename _BI2>
_BI2 std::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 504 of file stl_algobase.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and std::__copy_backward_normal<, >::copy_b_n().

Referenced by __insertion_sort(), __merge_backward(), __rotate_adaptive(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_reallocate_map(), and _GLIBCXX_STD::deque< _Tp, _Alloc >::erase().

template<typename _ForwardIterator, typename _Tp>
void std::fill ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __value 
)

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

Parameters:
first A forward iterator.
last A forward iterator.
value A reference-to-const of arbitrary type.
Returns:
Nothing.
This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to memset.

Definition at line 560 of file stl_algobase.h.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and std::__fill<>::fill().

Referenced by __uninitialized_fill_aux(), _GLIBCXX_STD::_Base_bitset< _Nw >::_M_do_left_shift(), _GLIBCXX_STD::_Base_bitset< _Nw >::_M_do_right_shift(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::deque< _Tp, _Allocator >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_initialize_dispatch(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux(), fill_n(), std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::m_allocate_buckets(), and _GLIBCXX_STD::vector< bool, _Alloc >::vector().

void std::fill ( unsigned char *  __first,
unsigned char *  __last,
const unsigned char &  __c 
) [inline]

Definition at line 573 of file stl_algobase.h.

References __glibcxx_requires_valid_range.

void std::fill ( signed char *  __first,
signed char *  __last,
const signed char &  __c 
) [inline]

Definition at line 581 of file stl_algobase.h.

References __glibcxx_requires_valid_range.

void std::fill ( char *  __first,
char *  __last,
const char &  __c 
) [inline]

Definition at line 589 of file stl_algobase.h.

References __glibcxx_requires_valid_range.

template<typename _OutputIterator, typename _Size, typename _Tp>
_OutputIterator std::fill_n ( _OutputIterator  __first,
_Size  __n,
const _Tp &  __value 
)

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

Parameters:
first An output iterator.
n The count of copies to perform.
value A reference-to-const of arbitrary type.
Returns:
The iterator at first+n.
This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to memset.

Definition at line 636 of file stl_algobase.h.

References __glibcxx_function_requires, and std::__fill_n<>::fill_n().

Referenced by __uninitialized_fill_n_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), std::char_traits< __gnu_cxx::character< V, I, S > >::assign(), __gnu_cxx::char_traits< _CharT >::assign(), and std::tr1::array< _Tp, _Nm >::assign().

template<typename _Size>
unsigned char* std::fill_n ( unsigned char *  __first,
_Size  __n,
const unsigned char &  __c 
) [inline]

Definition at line 647 of file stl_algobase.h.

References fill().

template<typename _Size>
signed char* std::fill_n ( char *  __first,
_Size  __n,
const signed char &  __c 
) [inline]

Definition at line 655 of file stl_algobase.h.

References fill().

template<typename _Size>
char* std::fill_n ( char *  __first,
_Size  __n,
const char &  __c 
) [inline]

Definition at line 663 of file stl_algobase.h.

References fill().

template<typename _InputIterator1, typename _InputIterator2>
pair<_InputIterator1, _InputIterator2> std::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 683 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate>
pair<_InputIterator1, _InputIterator2> std::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 719 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2>
bool std::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 748 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by operator==(), _GLIBCXX_STD::operator==(), and std::tr1::operator==().

template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate>
bool std::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 781 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2>
bool std::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 812 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by lexicographical_compare(), operator<(), _GLIBCXX_STD::operator<(), __gnu_cxx::operator<(), and std::tr1::operator<().

template<typename _InputIterator1, typename _InputIterator2, typename _Compare>
bool std::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 853 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

bool std::lexicographical_compare ( const unsigned char *  __first1,
const unsigned char *  __last1,
const unsigned char *  __first2,
const unsigned char *  __last2 
) [inline]

Definition at line 875 of file stl_algobase.h.

References __glibcxx_requires_valid_range, and min().

bool std::lexicographical_compare ( const char *  __first1,
const char *  __last1,
const char *  __first2,
const char *  __last2 
) [inline]

Definition at line 891 of file stl_algobase.h.

References __glibcxx_requires_valid_range, and lexicographical_compare().

template<typename _T1, typename _T2>
void std::_Construct ( _T1 *  __p,
const _T2 &  __value 
) [inline]

Definition at line 77 of file stl_construct.h.

Referenced by __uninitialized_copy_aux(), __gnu_cxx::__uninitialized_copy_n(), __uninitialized_fill_aux(), __uninitialized_fill_n_aux(), construct(), and std::raw_storage_iterator< _ForwardIterator, _Tp >::operator=().

template<typename _T1>
void std::_Construct ( _T1 *  __p  )  [inline]

Definition at line 92 of file stl_construct.h.

template<typename _Tp>
void std::_Destroy ( _Tp *  __pointer  )  [inline]

Definition at line 106 of file stl_construct.h.

Referenced by __destroy_aux(), __uninitialized_copy_a(), __uninitialized_copy_aux(), __uninitialized_copy_copy(), __uninitialized_copy_fill(), __gnu_cxx::__uninitialized_copy_n(), __gnu_cxx::__uninitialized_copy_n_a(), __uninitialized_fill_a(), __uninitialized_fill_aux(), __uninitialized_fill_copy(), __uninitialized_fill_n_a(), __uninitialized_fill_n_aux(), _Destroy(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_fill_initialize(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), __gnu_cxx::_Rope_RopeRep< _CharT, _Alloc >::_M_free_c_string(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_initialize(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::vector< _Tp, _Allocator >::clear(), _GLIBCXX_STD::deque< _Tp, _Alloc >::clear(), __gnu_cxx::rope< _CharT, _Alloc >::copy(), destroy(), _GLIBCXX_STD::vector< _Tp, _Alloc >::erase(), _GLIBCXX_STD::deque< _Tp, _Alloc >::erase(), _GLIBCXX_STD::vector< _Tp, _Alloc >::reserve(), std::_Temporary_buffer< _ForwardIterator, _Tp >::~_Temporary_buffer(), _GLIBCXX_STD::deque< _Tp, _Allocator >::~deque(), and _GLIBCXX_STD::vector< _Tp, _Allocator >::~vector().

template<typename _ForwardIterator>
void std::__destroy_aux ( _ForwardIterator  __first,
_ForwardIterator  __last,
__false_type   
) [inline]

Definition at line 118 of file stl_construct.h.

References _Destroy().

Referenced by _Destroy().

template<typename _ForwardIterator>
void std::__destroy_aux ( _ForwardIterator  ,
_ForwardIterator  ,
__true_type   
) [inline]

Definition at line 136 of file stl_construct.h.

template<typename _ForwardIterator>
void std::_Destroy ( _ForwardIterator  __first,
_ForwardIterator  __last 
) [inline]

Definition at line 148 of file stl_construct.h.

References __destroy_aux().

template<typename _ForwardIterator, typename _Allocator>
void std::_Destroy ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Allocator  __alloc 
)

Definition at line 170 of file stl_construct.h.

template<typename _ForwardIterator, typename _Tp>
void std::_Destroy ( _ForwardIterator  __first,
_ForwardIterator  __last,
allocator< _Tp >   
) [inline]

Definition at line 179 of file stl_construct.h.

References _Destroy().

template<typename _RandomAccessIterator, typename _Distance>
bool std::__is_heap ( _RandomAccessIterator  __first,
_Distance  __n 
)

Definition at line 72 of file stl_heap.h.

Referenced by __is_heap(), and __gnu_cxx::is_heap().

template<typename _RandomAccessIterator, typename _Distance, typename _StrictWeakOrdering>
bool std::__is_heap ( _RandomAccessIterator  __first,
_StrictWeakOrdering  __comp,
_Distance  __n 
)

Definition at line 88 of file stl_heap.h.

template<typename _RandomAccessIterator>
bool std::__is_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Definition at line 104 of file stl_heap.h.

References __is_heap(), and distance().

template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
bool std::__is_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 109 of file stl_heap.h.

References __is_heap(), and distance().

template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
void std::__push_heap ( _RandomAccessIterator  __first,
_Distance  __holeIndex,
_Distance  __topIndex,
_Tp  __value 
)

Definition at line 117 of file stl_heap.h.

Referenced by __adjust_heap(), and push_heap().

template<typename _RandomAccessIterator>
void std::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.

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __push_heap().

Referenced by std::priority_queue< _Tp, _Sequence, _Compare >::push().

template<typename _RandomAccessIterator, typename _Distance, typename _Tp, typename _Compare>
void std::__push_heap ( _RandomAccessIterator  __first,
_Distance  __holeIndex,
_Distance  __topIndex,
_Tp  __value,
_Compare  __comp 
)

Definition at line 162 of file stl_heap.h.

template<typename _RandomAccessIterator, typename _Compare>
void std::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.

References __glibcxx_function_requires, __glibcxx_requires_heap_pred, __glibcxx_requires_valid_range, and __push_heap().

template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
void std::__adjust_heap ( _RandomAccessIterator  __first,
_Distance  __holeIndex,
_Distance  __len,
_Tp  __value 
)

Definition at line 209 of file stl_heap.h.

References __push_heap().

Referenced by __pop_heap(), make_heap(), and partial_sort_copy().

template<typename _RandomAccessIterator, typename _Tp>
void std::__pop_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_RandomAccessIterator  __result,
_Tp  __value 
) [inline]

Definition at line 232 of file stl_heap.h.

References __adjust_heap().

Referenced by partial_sort(), and pop_heap().

template<typename _RandomAccessIterator>
void std::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.

References __glibcxx_function_requires, __glibcxx_requires_heap, __glibcxx_requires_valid_range, and __pop_heap().

Referenced by std::priority_queue< _Tp, _Sequence, _Compare >::pop(), and sort_heap().

template<typename _RandomAccessIterator, typename _Distance, typename _Tp, typename _Compare>
void std::__adjust_heap ( _RandomAccessIterator  __first,
_Distance  __holeIndex,
_Distance  __len,
_Tp  __value,
_Compare  __comp 
)

Definition at line 272 of file stl_heap.h.

References __push_heap().

template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
void std::__pop_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_RandomAccessIterator  __result,
_Tp  __value,
_Compare  __comp 
) [inline]

Definition at line 296 of file stl_heap.h.

References __adjust_heap().

template<typename _RandomAccessIterator, typename _Compare>
void std::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.

References __glibcxx_function_requires, __glibcxx_requires_heap_pred, __glibcxx_requires_valid_range, and __pop_heap().

template<typename _RandomAccessIterator>
void std::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.

References __adjust_heap(), __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by partial_sort(), partial_sort_copy(), and std::priority_queue< _Tp, _Sequence, _Compare >::priority_queue().

template<typename _RandomAccessIterator, typename _Compare>
void std::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.

References __adjust_heap(), __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _RandomAccessIterator>
void std::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 __glibcxx_function_requires, __glibcxx_requires_valid_range, and pop_heap().

Referenced by partial_sort(), and partial_sort_copy().

template<typename _RandomAccessIterator, typename _Compare>
void std::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 __glibcxx_function_requires, __glibcxx_requires_heap_pred, __glibcxx_requires_valid_range, and pop_heap().

template<typename _Iterator>
bool std::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 280 of file stl_iterator.h.

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

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

Definition at line 286 of file stl_iterator.h.

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

Definition at line 292 of file stl_iterator.h.

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

Definition at line 298 of file stl_iterator.h.

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

Definition at line 304 of file stl_iterator.h.

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

Definition at line 310 of file stl_iterator.h.

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

Definition at line 316 of file stl_iterator.h.

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

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

Definition at line 322 of file stl_iterator.h.

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

template<typename _IteratorL, typename _IteratorR>
bool std::operator== ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 330 of file stl_iterator.h.

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

template<typename _IteratorL, typename _IteratorR>
bool std::operator< ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 336 of file stl_iterator.h.

template<typename _IteratorL, typename _IteratorR>
bool std::operator!= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 342 of file stl_iterator.h.

template<typename _IteratorL, typename _IteratorR>
bool std::operator> ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 348 of file stl_iterator.h.

template<typename _IteratorL, typename _IteratorR>
bool std::operator<= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 354 of file stl_iterator.h.

template<typename _IteratorL, typename _IteratorR>
bool std::operator>= ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 360 of file stl_iterator.h.

template<typename _IteratorL, typename _IteratorR>
reverse_iterator<_IteratorL>::difference_type std::operator- ( const reverse_iterator< _IteratorL > &  __x,
const reverse_iterator< _IteratorR > &  __y 
) [inline]

Definition at line 366 of file stl_iterator.h.

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

template<typename _Container>
back_insert_iterator<_Container> std::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 444 of file stl_iterator.h.

template<typename _Container>
front_insert_iterator<_Container> std::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 518 of file stl_iterator.h.

template<typename _Container, typename _Iterator>
insert_iterator<_Container> std::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 614 of file stl_iterator.h.

Referenced by _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_insert_aux().

template<typename _InputIterator>
iterator_traits<_InputIterator>::difference_type std::__distance ( _InputIterator  __first,
_InputIterator  __last,
input_iterator_tag   
) [inline]

Definition at line 74 of file stl_iterator_base_funcs.h.

References __glibcxx_function_requires.

Referenced by distance().

template<typename _RandomAccessIterator>
iterator_traits<_RandomAccessIterator>::difference_type std::__distance ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
random_access_iterator_tag   
) [inline]

Definition at line 91 of file stl_iterator_base_funcs.h.

References __glibcxx_function_requires.

template<typename _InputIterator>
iterator_traits<_InputIterator>::difference_type std::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.

References __distance(), and __iterator_category().

Referenced by __find_end(), __inplace_stable_partition(), __is_heap(), __merge_adaptive(), __merge_without_buffer(), __rotate_adaptive(), __stable_partition_adaptive(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::deque< _Tp, _Allocator >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), __gnu_cxx::__sso_string_base< _CharT, _Traits, _Alloc >::_M_construct(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_initialize_range(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_range_initialize(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_initialize(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_insert_aux(), __gnu_cxx::__rc_string_base< _CharT, _Traits, _Alloc >::_S_construct(), std::basic_string< _CharT, _Traits, _Alloc >::_S_construct(), std::tr1::hashtable< Value, Value, Alloc, Internal::identity< Value >, Pred, Hash, Internal::mod_range_hashing, Internal::default_ranged_hash, Internal::prime_rehash_policy, cache_hash_code, true, false >::bucket_size(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::count(), Internal::distance_fw(), equal_range(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::erase(), inplace_merge(), lower_bound(), __gnu_cxx::random_sample_n(), pb_assoc::detail::value_type_adapter< Key, Data, DS_Tag, Policy_Tl, Allocator, Mapping_Level >::size(), _GLIBCXX_STD::list< _Tp, _Allocator >::size(), and upper_bound().

template<typename _InputIterator, typename _Distance>
void std::__advance ( _InputIterator &  __i,
_Distance  __n,
input_iterator_tag   
) [inline]

Definition at line 123 of file stl_iterator_base_funcs.h.

References __glibcxx_function_requires.

Referenced by advance().

template<typename _BidirectionalIterator, typename _Distance>
void std::__advance ( _BidirectionalIterator &  __i,
_Distance  __n,
bidirectional_iterator_tag   
) [inline]

Definition at line 133 of file stl_iterator_base_funcs.h.

References __glibcxx_function_requires.

template<typename _RandomAccessIterator, typename _Distance>
void std::__advance ( _RandomAccessIterator &  __i,
_Distance  __n,
random_access_iterator_tag   
) [inline]

Definition at line 149 of file stl_iterator_base_funcs.h.

References __glibcxx_function_requires.

template<typename _InputIterator, typename _Distance>
void std::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.

References __advance(), and __iterator_category().

Referenced by __find_end(), __inplace_stable_partition(), __merge_adaptive(), __merge_without_buffer(), __rotate_adaptive(), __stable_partition_adaptive(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::deque< _Tp, _Allocator >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_initialize(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), equal_range(), lower_bound(), and upper_bound().

template<typename _Iter>
iterator_traits<_Iter>::iterator_category std::__iterator_category ( const _Iter &   )  [inline]

Definition at line 164 of file stl_iterator_base_types.h.

References iterator_category().

Referenced by __gnu_cxx::__uninitialized_copy_n(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_dispatch(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_initialize_dispatch(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_dispatch(), advance(), __gnu_cxx::copy_n(), distance(), __gnu_cxx::distance(), find(), find_end(), find_if(), __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal(), __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique(), iterator_category(), partition(), reverse(), search_n(), and __gnu_cxx::uninitialized_copy_n().

template<typename _InputIterator, typename _Tp>
_Tp std::accumulate ( _InputIterator  __first,
_InputIterator  __last,
_Tp  __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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _Tp, typename _BinaryOperation>
_Tp std::accumulate ( _InputIterator  __first,
_InputIterator  __last,
_Tp  __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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2, typename _Tp>
_Tp std::inner_product ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_Tp  __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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator1, typename _InputIterator2, typename _Tp, typename _BinaryOperation1, typename _BinaryOperation2>
_Tp std::inner_product ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_Tp  __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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator>
_OutputIterator std::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.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator, typename _BinaryOperation>
_OutputIterator std::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 239 of file stl_numeric.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator>
_OutputIterator std::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 275 of file stl_numeric.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _InputIterator, typename _OutputIterator, typename _BinaryOperation>
_OutputIterator std::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 314 of file stl_numeric.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<class _T1, class _T2>
bool std::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 _T1, class _T2>
bool std::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 _T1, class _T2>
bool std::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 _T1, class _T2>
bool std::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 _T1, class _T2>
bool std::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 _T1, class _T2>
bool std::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 _T1, class _T2>
pair<_T1, _T2> std::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.

Referenced by __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_get_distance(), __gnu_cxx::bitmap_allocator< _Tp >::_S_refill_pool(), __gnu_debug_def::set< _Key, _Compare, _Allocator >::equal_range(), __gnu_debug_def::multiset< _Key, _Compare, _Allocator >::equal_range(), __gnu_debug_def::multimap< _Key, _Tp, _Compare, _Allocator >::equal_range(), __gnu_debug_def::map< _Key, _Tp, _Compare, _Allocator >::equal_range(), std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::equal_range(), __gnu_debug_def::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_debug_def::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_debug_def::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_debug_def::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), pb_assoc::detail::PB_ASSOC_OV_TREE_CLASS_NAME< Key, Data, Cmp_Fn, Allocator, Node_Updator >::insert(), __gnu_debug_def::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_debug_def::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_debug_def::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), __gnu_debug_def::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), std::tr1::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys >::m_insert(), Internal::prime_rehash_policy::need_rehash(), Internal::map_base< K, Pair, extract1st< Pair >, true, Hashtable >::operator[](), and order_statistics_key_verifier< Cntnr, Allocator >::verify_imp().

template<typename _Tp, typename _Seq>
bool std::operator== ( const queue< _Tp, _Seq > &  ,
const queue< _Tp, _Seq > &   
) [inline]

template<typename _Tp, typename _Seq>
bool std::operator< ( const queue< _Tp, _Seq > &  ,
const queue< _Tp, _Seq > &   
) [inline]

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

Queue equality comparison.

Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff the size and elements of the queues are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and queues are considered equivalent if their sequences compare equal.

Definition at line 250 of file stl_queue.h.

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

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

Queue ordering relation.

Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff x is 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<typename _Tp, typename _Sequence>
bool std::operator!= ( const queue< _Tp, _Sequence > &  __x,
const queue< _Tp, _Sequence > &  __y 
) [inline]

Based on operator==.

Definition at line 275 of file stl_queue.h.

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

Based on operator<.

Definition at line 282 of file stl_queue.h.

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

Based on operator<.

Definition at line 288 of file stl_queue.h.

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

Based on operator<.

Definition at line 295 of file stl_queue.h.

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

Stack equality comparison.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff the size and elements of the stacks are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and stacks are considered equivalent if their sequences compare equal.

Definition at line 226 of file stl_stack.h.

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

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

Stack ordering relation.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff x is 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<typename _Tp, typename _Seq>
bool std::operator!= ( const stack< _Tp, _Seq > &  __x,
const stack< _Tp, _Seq > &  __y 
) [inline]

Based on operator==.

Definition at line 250 of file stl_stack.h.

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

Based on operator<.

Definition at line 256 of file stl_stack.h.

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

Based on operator<.

Definition at line 262 of file stl_stack.h.

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

Based on operator<.

Definition at line 268 of file stl_stack.h.

_Rb_tree_node_base* std::_Rb_tree_increment ( _Rb_tree_node_base *  __x  ) 

Referenced by std::_Rb_tree_const_iterator< _Tp >::operator++(), and std::_Rb_tree_iterator< _Tp >::operator++().

const _Rb_tree_node_base* std::_Rb_tree_increment ( const _Rb_tree_node_base *  __x  ) 

_Rb_tree_node_base* std::_Rb_tree_decrement ( _Rb_tree_node_base *  __x  ) 

Referenced by std::_Rb_tree_const_iterator< _Tp >::operator--(), and std::_Rb_tree_iterator< _Tp >::operator--().

const _Rb_tree_node_base* std::_Rb_tree_decrement ( const _Rb_tree_node_base *  __x  ) 

template<typename _Val>
bool std::operator== ( const _Rb_tree_iterator< _Val > &  __x,
const _Rb_tree_const_iterator< _Val > &  __y 
) [inline]

Definition at line 297 of file stl_tree.h.

References std::_Rb_tree_const_iterator< _Tp >::_M_node, and std::_Rb_tree_iterator< _Tp >::_M_node.

template<typename _Val>
bool std::operator!= ( const _Rb_tree_iterator< _Val > &  __x,
const _Rb_tree_const_iterator< _Val > &  __y 
) [inline]

Definition at line 303 of file stl_tree.h.

References std::_Rb_tree_const_iterator< _Tp >::_M_node, and std::_Rb_tree_iterator< _Tp >::_M_node.

void std::_Rb_tree_rotate_left ( _Rb_tree_node_base *const   __x,
_Rb_tree_node_base *&  __root 
)

void std::_Rb_tree_rotate_right ( _Rb_tree_node_base *const   __x,
_Rb_tree_node_base *&  __root 
)

void std::_Rb_tree_insert_and_rebalance ( const bool  __insert_left,
_Rb_tree_node_base *  __x,
_Rb_tree_node_base *  __p,
_Rb_tree_node_base &  __header 
)

Referenced by std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::_M_insert().

_Rb_tree_node_base* std::_Rb_tree_rebalance_for_erase ( _Rb_tree_node_base *const   __z,
_Rb_tree_node_base &  __header 
)

Referenced by std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::erase().

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator== ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 735 of file stl_tree.h.

References std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::begin(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::end(), equal(), and std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::size().

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator< ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 745 of file stl_tree.h.

References lexicographical_compare().

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator!= ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 755 of file stl_tree.h.

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator> ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 762 of file stl_tree.h.

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator<= ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 769 of file stl_tree.h.

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
bool std::operator>= ( const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 776 of file stl_tree.h.

template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc>
void std::swap ( _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __x,
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &  __y 
) [inline]

Definition at line 783 of file stl_tree.h.

References std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::swap().

unsigned int std::_Rb_tree_black_count ( const _Rb_tree_node_base *  __node,
const _Rb_tree_node_base *  __root 
)

Referenced by std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::__rb_verify().

template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::__uninitialized_copy_aux ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
__true_type   
) [inline]

Definition at line 71 of file stl_uninitialized.h.

References copy().

Referenced by uninitialized_copy().

template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::__uninitialized_copy_aux ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
__false_type   
) [inline]

Definition at line 78 of file stl_uninitialized.h.

References __throw_exception_again, _Construct(), and _Destroy().

template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::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.

References __uninitialized_copy_aux().

Referenced by __uninitialized_copy_a(), and __gnu_cxx::__uninitialized_copy_n().

char* std::uninitialized_copy ( const char *  __first,
const char *  __last,
char *  __result 
) [inline]

Definition at line 117 of file stl_uninitialized.h.

wchar_t* std::uninitialized_copy ( const wchar_t *  __first,
const wchar_t *  __last,
wchar_t *  __result 
) [inline]

Definition at line 124 of file stl_uninitialized.h.

template<typename _ForwardIterator, typename _Tp>
void std::__uninitialized_fill_aux ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __x,
__true_type   
) [inline]

Definition at line 135 of file stl_uninitialized.h.

References fill().

Referenced by uninitialized_fill().

template<typename _ForwardIterator, typename _Tp>
void std::__uninitialized_fill_aux ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __x,
__false_type   
)

Definition at line 142 of file stl_uninitialized.h.

References __throw_exception_again, _Construct(), and _Destroy().

template<typename _ForwardIterator, typename _Tp>
void std::uninitialized_fill ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __x 
) [inline]

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

Parameters:
first An input iterator.
last An input iterator.
x The source value.
Returns:
Nothing.
Like fill(), but does not require an initialized output range.

Definition at line 169 of file stl_uninitialized.h.

References __uninitialized_fill_aux().

Referenced by __uninitialized_fill_a().

template<typename _ForwardIterator, typename _Size, typename _Tp>
void std::__uninitialized_fill_n_aux ( _ForwardIterator  __first,
_Size  __n,
const _Tp &  __x,
__true_type   
) [inline]

Definition at line 181 of file stl_uninitialized.h.

References fill_n().

Referenced by uninitialized_fill_n().

template<typename _ForwardIterator, typename _Size, typename _Tp>
void std::__uninitialized_fill_n_aux ( _ForwardIterator  __first,
_Size  __n,
const _Tp &  __x,
__false_type   
)

Definition at line 187 of file stl_uninitialized.h.

References __throw_exception_again, _Construct(), and _Destroy().

template<typename _ForwardIterator, typename _Size, typename _Tp>
void std::uninitialized_fill_n ( _ForwardIterator  __first,
_Size  __n,
const _Tp &  __x 
) [inline]

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

Parameters:
first An input iterator.
n The number of copies to make.
x The source value.
Returns:
Nothing.
Like fill_n(), but does not require an initialized output range.

Definition at line 214 of file stl_uninitialized.h.

References __uninitialized_fill_n_aux().

Referenced by __uninitialized_fill_n_a(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::_M_initialize_buffer().

template<typename _InputIterator, typename _ForwardIterator, typename _Allocator>
_ForwardIterator std::__uninitialized_copy_a ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
_Allocator  __alloc 
)

Definition at line 230 of file stl_uninitialized.h.

References __throw_exception_again, and _Destroy().

Referenced by __uninitialized_copy_copy(), __uninitialized_copy_fill(), __uninitialized_fill_copy(), _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_allocate_and_copy(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_range_initialize(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_initialize(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_range_insert_aux(), _GLIBCXX_STD::deque< _Tp, _Allocator >::deque(), and _GLIBCXX_STD::vector< _Tp, _Allocator >::vector().

template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
_ForwardIterator std::__uninitialized_copy_a ( _InputIterator  __first,
_InputIterator  __last,
_ForwardIterator  __result,
allocator< _Tp >   
) [inline]

Definition at line 250 of file stl_uninitialized.h.

References uninitialized_copy().

template<typename _ForwardIterator, typename _Tp, typename _Allocator>
void std::__uninitialized_fill_a ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __x,
_Allocator  __alloc 
)

Definition at line 259 of file stl_uninitialized.h.

References __throw_exception_again, and _Destroy().

Referenced by __uninitialized_copy_fill(), __uninitialized_fill_copy(), _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_fill_initialize(), and _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_fill_insert().

template<typename _ForwardIterator, typename _Tp, typename _Tp2>
void std::__uninitialized_fill_a ( _ForwardIterator  __first,
_ForwardIterator  __last,
const _Tp &  __x,
allocator< _Tp2 >   
) [inline]

Definition at line 277 of file stl_uninitialized.h.

References uninitialized_fill().

template<typename _ForwardIterator, typename _Size, typename _Tp, typename _Allocator>
void std::__uninitialized_fill_n_a ( _ForwardIterator  __first,
_Size  __n,
const _Tp &  __x,
_Allocator  __alloc 
)

Definition at line 286 of file stl_uninitialized.h.

References __throw_exception_again, and _Destroy().

Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_initialize_dispatch(), __gnu_cxx::rope< _CharT, _Alloc >::rope(), and _GLIBCXX_STD::vector< _Tp, _Allocator >::vector().

template<typename _ForwardIterator, typename _Size, typename _Tp, typename _Tp2>
void std::__uninitialized_fill_n_a ( _ForwardIterator  __first,
_Size  __n,
const _Tp &  __x,
allocator< _Tp2 >   
)

Definition at line 306 of file stl_uninitialized.h.

References uninitialized_fill_n().

template<typename _InputIterator1, typename _InputIterator2, typename _ForwardIterator, typename _Allocator>
_ForwardIterator std::__uninitialized_copy_copy ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_InputIterator2  __last2,
_ForwardIterator  __result,
_Allocator  __alloc 
) [inline]

Definition at line 326 of file stl_uninitialized.h.

References __throw_exception_again, __uninitialized_copy_a(), and _Destroy().

Referenced by _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux().

template<typename _ForwardIterator, typename _Tp, typename _InputIterator, typename _Allocator>
_ForwardIterator std::__uninitialized_fill_copy ( _ForwardIterator  __result,
_ForwardIterator  __mid,
const _Tp &  __x,
_InputIterator  __first,
_InputIterator  __last,
_Allocator  __alloc 
) [inline]

Definition at line 353 of file stl_uninitialized.h.

References __throw_exception_again, __uninitialized_copy_a(), __uninitialized_fill_a(), and _Destroy().

Referenced by _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux().

template<typename _InputIterator, typename _ForwardIterator, typename _Tp, typename _Allocator>
void std::__uninitialized_copy_fill ( _InputIterator  __first1,
_InputIterator  __last1,
_ForwardIterator  __first2,
_ForwardIterator  __last2,
const _Tp &  __x,
_Allocator  __alloc 
) [inline]

Definition at line 376 of file stl_uninitialized.h.

References __throw_exception_again, __uninitialized_copy_a(), __uninitialized_fill_a(), and _Destroy().

Referenced by _GLIBCXX_STD::deque< _Tp, _Alloc >::_M_insert_aux().

template<typename _Tp, typename _CharT, typename _Traits, typename _Dist>
bool std::operator== ( const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __x,
const istream_iterator< _Tp, _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.

References std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::_M_equal().

template<class _Tp, class _CharT, class _Traits, class _Dist>
bool std::operator!= ( const istream_iterator< _Tp, _CharT, _Traits, _Dist > &  __x,
const istream_iterator< _Tp, _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.

References std::istream_iterator< _Tp, _CharT, _Traits, _Dist >::_M_equal().

template<typename _CharT, typename _Traits>
streamsize std::__copy_streambufs ( basic_streambuf< _CharT, _Traits > *  __sbin,
basic_streambuf< _CharT, _Traits > *  __sbout 
)

Definition at line 120 of file streambuf.tcc.

References std::basic_streambuf< _CharT, _Traits >::sgetc(), std::basic_streambuf< _CharT, _Traits >::snextc(), and std::basic_streambuf< _CharT, _Traits >::sputc().

Referenced by std::basic_ostream< _CharT, _Traits >::operator<<(), and std::basic_istream< _CharT, _Traits >::operator>>().

template<typename _CharT, typename _Traits>
bool std::operator== ( const istreambuf_iterator< _CharT, _Traits > &  __a,
const istreambuf_iterator< _CharT, _Traits > &  __b 
) [inline]

Definition at line 179 of file streambuf_iterator.h.

References std::istreambuf_iterator< _CharT, _Traits >::equal().

template<typename _CharT, typename _Traits>
bool std::operator!= ( const istreambuf_iterator< _CharT, _Traits > &  __a,
const istreambuf_iterator< _CharT, _Traits > &  __b 
) [inline]

Definition at line 185 of file streambuf_iterator.h.

References std::istreambuf_iterator< _CharT, _Traits >::equal().

void* std::__valarray_get_memory ( size_t  __n  )  [inline]

Definition at line 57 of file valarray_array.h.

References operator new().

Referenced by __valarray_get_storage().

template<typename _Tp>
_Tp* __restrict__ std::__valarray_get_storage ( size_t  __n  )  [inline]

Definition at line 62 of file valarray_array.h.

References __valarray_get_memory().

void std::__valarray_release_memory ( void *  __p  )  [inline]

Definition at line 70 of file valarray_array.h.

References operator delete().

Referenced by std::valarray< _Tp >::resize(), and std::valarray< _Tp >::~valarray().

template<typename _Tp>
void std::__valarray_default_construct ( _Tp *__restrict__  __b,
_Tp *__restrict__  __e 
) [inline]

Definition at line 99 of file valarray_array.h.

Referenced by std::_Array< _Tp >::_Array(), std::valarray< _Tp >::shift(), and std::valarray< _Tp >::valarray().

template<typename _Tp>
void std::__valarray_fill_construct ( _Tp *__restrict__  __b,
_Tp *__restrict__  __e,
const _Tp  __t 
) [inline]

Definition at line 134 of file valarray_array.h.

Referenced by std::valarray< _Tp >::resize(), and std::valarray< _Tp >::valarray().

template<typename _Tp>
void std::__valarray_copy_construct ( const _Tp *__restrict__  __b,
const _Tp *__restrict__  __e,
_Tp *__restrict__  __o 
) [inline]

Definition at line 170 of file valarray_array.h.

Referenced by __valarray_copy_construct(), std::valarray< _Tp >::cshift(), std::valarray< _Tp >::shift(), and std::valarray< _Tp >::valarray().

template<typename _Tp>
void std::__valarray_copy_construct ( const _Tp *__restrict__  __a,
size_t  __n,
size_t  __s,
_Tp *__restrict__  __o 
) [inline]

Definition at line 181 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy_construct ( const _Tp *__restrict__  __a,
const size_t *__restrict__  __i,
_Tp *__restrict__  __o,
size_t  __n 
) [inline]

Definition at line 201 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_destroy_elements ( _Tp *__restrict__  __b,
_Tp *__restrict__  __e 
) [inline]

Definition at line 216 of file valarray_array.h.

Referenced by std::valarray< _Tp >::resize(), and std::valarray< _Tp >::~valarray().

template<typename _Tp>
void std::__valarray_fill ( _Tp *__restrict__  __a,
size_t  __n,
const _Tp &  __t 
) [inline]

Definition at line 229 of file valarray_array.h.

Referenced by __valarray_fill(), std::valarray< _Tp >::operator=(), std::slice_array< _Tp >::operator=(), std::mask_array< _Tp >::operator=(), std::indirect_array< _Tp >::operator=(), and std::gslice_array< _Tp >::operator=().

template<typename _Tp>
void std::__valarray_fill ( _Tp *__restrict__  __a,
size_t  __n,
size_t  __s,
const _Tp &  __t 
) [inline]

Definition at line 238 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_fill ( _Tp *__restrict__  __a,
const size_t *__restrict__  __i,
size_t  __n,
const _Tp &  __t 
) [inline]

Definition at line 248 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __a,
size_t  __n,
_Tp *__restrict__  __b 
) [inline]

Definition at line 279 of file valarray_array.h.

Referenced by __valarray_copy(), std::valarray< _Tp >::operator=(), std::slice_array< _Tp >::operator=(), std::mask_array< _Tp >::operator=(), std::indirect_array< _Tp >::operator=(), and std::gslice_array< _Tp >::operator=().

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __a,
size_t  __n,
size_t  __s,
_Tp *__restrict__  __b 
) [inline]

Definition at line 289 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __a,
_Tp *__restrict__  __b,
size_t  __n,
size_t  __s 
) [inline]

Definition at line 299 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __src,
size_t  __n,
size_t  __s1,
_Tp *__restrict__  __dst,
size_t  __s2 
) [inline]

Definition at line 310 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __a,
const size_t *__restrict__  __i,
_Tp *__restrict__  __b,
size_t  __n 
) [inline]

Definition at line 320 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __a,
size_t  __n,
_Tp *__restrict__  __b,
const size_t *__restrict__  __i 
) [inline]

Definition at line 331 of file valarray_array.h.

template<typename _Tp>
void std::__valarray_copy ( const _Tp *__restrict__  __src,
size_t  __n,
const size_t *__restrict__  __i,
_Tp *__restrict__  __dst,
const size_t *__restrict__  __j 
) [inline]

Definition at line 342 of file valarray_array.h.

template<typename _Tp>
_Tp std::__valarray_sum ( const _Tp *__restrict__  __f,
const _Tp *__restrict__  __l 
) [inline]

Definition at line 359 of file valarray_array.h.

Referenced by std::valarray< _Tp >::sum().

template<typename _Tp>
_Tp std::__valarray_product ( const _Tp *__restrict__  __f,
const _Tp *__restrict__  __l 
) [inline]

Definition at line 370 of file valarray_array.h.

template<typename _Ta>
_Ta::value_type std::__valarray_min ( const _Ta &  __a  )  [inline]

Definition at line 382 of file valarray_array.h.

References value_type().

Referenced by std::_Expr< _Clos, _Tp >::min().

template<typename _Ta>
_Ta::value_type std::__valarray_max ( const _Ta &  __a  )  [inline]

Definition at line 398 of file valarray_array.h.

References value_type().

Referenced by std::_Expr< _Clos, _Tp >::max().

template<typename _Tp>
void std::__valarray_copy_construct ( _Array< _Tp >  __a,
_Array< size_t >  __i,
_Array< _Tp >  __b,
size_t  __n 
) [inline]

Definition at line 435 of file valarray_array.h.

References __valarray_copy_construct(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy_construct ( _Array< _Tp >  __a,
size_t  __n,
size_t  __s,
_Array< _Tp >  __b 
) [inline]

Definition at line 443 of file valarray_array.h.

References __valarray_copy_construct(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_fill ( _Array< _Tp >  __a,
size_t  __n,
const _Tp &  __t 
) [inline]

Definition at line 449 of file valarray_array.h.

References __valarray_fill(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_fill ( _Array< _Tp >  __a,
size_t  __n,
size_t  __s,
const _Tp &  __t 
) [inline]

Definition at line 454 of file valarray_array.h.

References __valarray_fill(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_fill ( _Array< _Tp >  __a,
_Array< size_t >  __i,
size_t  __n,
const _Tp &  __t 
) [inline]

Definition at line 459 of file valarray_array.h.

References __valarray_fill(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
size_t  __n,
_Array< _Tp >  __b 
) [inline]

Definition at line 466 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
size_t  __n,
size_t  __s,
_Array< _Tp >  __b 
) [inline]

Definition at line 472 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
_Array< _Tp >  __b,
size_t  __n,
size_t  __s 
) [inline]

Definition at line 478 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
size_t  __n,
size_t  __s1,
_Array< _Tp >  __b,
size_t  __s2 
) [inline]

Definition at line 485 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
_Array< size_t >  __i,
_Array< _Tp >  __b,
size_t  __n 
) [inline]

Definition at line 492 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
size_t  __n,
_Array< _Tp >  __b,
_Array< size_t >  __i 
) [inline]

Definition at line 499 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __src,
size_t  __n,
_Array< size_t >  __i,
_Array< _Tp >  __dst,
_Array< size_t >  __j 
) [inline]

Definition at line 507 of file valarray_array.h.

References __valarray_copy(), and std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_fill ( _Array< _Tp >  __a,
size_t  __n,
_Array< bool >  __m,
const _Tp &  __t 
)

Definition at line 44 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
_Array< bool >  __m,
_Array< _Tp >  __b,
size_t  __n 
)

Definition at line 68 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
size_t  __n,
_Array< _Tp >  __b,
_Array< bool >  __m 
)

Definition at line 93 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __a,
_Array< bool >  __m,
size_t  __n,
_Array< _Tp >  __b,
_Array< bool >  __k 
)

Definition at line 117 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp, class _Dom>
void std::__valarray_copy ( const _Expr< _Dom, _Tp > &  __e,
size_t  __n,
_Array< _Tp >  __a 
)

Definition at line 145 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp, class _Dom>
void std::__valarray_copy ( const _Expr< _Dom, _Tp > &  __e,
size_t  __n,
_Array< _Tp >  __a,
size_t  __s 
)

Definition at line 156 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp, class _Dom>
void std::__valarray_copy ( const _Expr< _Dom, _Tp > &  __e,
size_t  __n,
_Array< _Tp >  __a,
_Array< size_t >  __i 
)

Definition at line 168 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy ( _Array< _Tp >  __e,
_Array< size_t >  __f,
size_t  __n,
_Array< _Tp >  __a,
_Array< size_t >  __i 
)

Definition at line 180 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp, class _Dom>
void std::__valarray_copy ( const _Expr< _Dom, _Tp > &  __e,
size_t  __n,
_Array< _Tp >  __a,
_Array< bool >  __m 
)

Definition at line 198 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp, class _Dom>
void std::__valarray_copy_construct ( const _Expr< _Dom, _Tp > &  __e,
size_t  __n,
_Array< _Tp >  __a 
)

Definition at line 217 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

template<typename _Tp>
void std::__valarray_copy_construct ( _Array< _Tp >  __a,
_Array< bool >  __m,
_Array< _Tp >  __b,
size_t  __n 
)

Definition at line 228 of file valarray_array.tcc.

References std::_Array< _Tp >::_M_data.

double std::abs ( double  __x  )  [inline]

Definition at line 89 of file cmath.

Referenced by __complex_abs(), __complex_log(), __complex_sqrt(), std::_Norm_helper< true >::_S_do_it(), and std::__abs::operator()().

float std::abs ( float  __x  )  [inline]

Definition at line 93 of file cmath.

long double std::abs ( long double  __x  )  [inline]

Definition at line 97 of file cmath.

float std::acos ( float  __x  )  [inline]

Definition at line 103 of file cmath.

Referenced by std::__acos::operator()().

long double std::acos ( long double  __x  )  [inline]

Definition at line 107 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::acos ( _Tp  __x  )  [inline]

Definition at line 112 of file cmath.

float std::asin ( float  __x  )  [inline]

Definition at line 120 of file cmath.

Referenced by std::__asin::operator()().

long double std::asin ( long double  __x  )  [inline]

Definition at line 124 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::asin ( _Tp  __x  )  [inline]

Definition at line 129 of file cmath.

float std::atan ( float  __x  )  [inline]

Definition at line 135 of file cmath.

Referenced by std::__atan::operator()().

long double std::atan ( long double  __x  )  [inline]

Definition at line 139 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::atan ( _Tp  __x  )  [inline]

Definition at line 144 of file cmath.

float std::atan2 ( float  __y,
float  __x 
) [inline]

Definition at line 150 of file cmath.

Referenced by __complex_arg(), and std::__atan2::operator()().

long double std::atan2 ( long double  __y,
long double  __x 
) [inline]

Definition at line 154 of file cmath.

template<typename _Tp, typename _Up>
__enable_if<double, __is_integer<_Tp>::__value && __is_integer<_Up>::__value>::__type std::atan2 ( _Tp  __y,
_Up  __x 
) [inline]

Definition at line 160 of file cmath.

float std::ceil ( float  __x  )  [inline]

Definition at line 166 of file cmath.

Referenced by Internal::prime_rehash_policy::bkt_for_elements(), Internal::prime_rehash_policy::need_rehash(), and Internal::prime_rehash_policy::next_bkt().

long double std::ceil ( long double  __x  )  [inline]

Definition at line 170 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::ceil ( _Tp  __x  )  [inline]

Definition at line 175 of file cmath.

float std::cos ( float  __x  )  [inline]

Definition at line 181 of file cmath.

Referenced by __complex_cos(), __complex_cosh(), __complex_sin(), __complex_sinh(), __complex_tan(), std::__cos::operator()(), and polar().

long double std::cos ( long double  __x  )  [inline]

Definition at line 185 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::cos ( _Tp  __x  )  [inline]

Definition at line 190 of file cmath.

float std::cosh ( float  __x  )  [inline]

Definition at line 196 of file cmath.

Referenced by __complex_cos(), __complex_cosh(), __complex_sin(), __complex_sinh(), __complex_tanh(), and std::__cosh::operator()().

long double std::cosh ( long double  __x  )  [inline]

Definition at line 200 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::cosh ( _Tp  __x  )  [inline]

Definition at line 205 of file cmath.

float std::exp ( float  __x  )  [inline]

Definition at line 211 of file cmath.

Referenced by __complex_exp(), __complex_pow(), std::__exp::operator()(), and pow().

long double std::exp ( long double  __x  )  [inline]

Definition at line 215 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::exp ( _Tp  __x  )  [inline]

Definition at line 220 of file cmath.

float std::fabs ( float  __x  )  [inline]

Definition at line 226 of file cmath.

long double std::fabs ( long double  __x  )  [inline]

Definition at line 230 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::fabs ( _Tp  __x  )  [inline]

Definition at line 235 of file cmath.

float std::floor ( float  __x  )  [inline]

Definition at line 241 of file cmath.

long double std::floor ( long double  __x  )  [inline]

Definition at line 245 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::floor ( _Tp  __x  )  [inline]

Definition at line 250 of file cmath.

float std::fmod ( float  __x,
float  __y 
) [inline]

Definition at line 256 of file cmath.

long double std::fmod ( long double  __x,
long double  __y 
) [inline]

Definition at line 260 of file cmath.

float std::frexp ( float  __x,
int *  __exp 
) [inline]

Definition at line 266 of file cmath.

Referenced by std::tr1::hash< long double >::operator()().

long double std::frexp ( long double  __x,
int *  __exp 
) [inline]

Definition at line 270 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::frexp ( _Tp  __x,
int *  __exp 
) [inline]

Definition at line 275 of file cmath.

float std::ldexp ( float  __x,
int  __exp 
) [inline]

Definition at line 281 of file cmath.

long double std::ldexp ( long double  __x,
int  __exp 
) [inline]

Definition at line 285 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::ldexp ( _Tp  __x,
int  __exp 
) [inline]

Definition at line 290 of file cmath.

float std::log ( float  __x  )  [inline]

Definition at line 296 of file cmath.

Referenced by __complex_log(), __complex_pow(), log10(), std::__log::operator()(), and pow().

long double std::log ( long double  __x  )  [inline]

Definition at line 300 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::log ( _Tp  __x  )  [inline]

Definition at line 305 of file cmath.

float std::log10 ( float  __x  )  [inline]

Definition at line 311 of file cmath.

Referenced by std::__log10::operator()().

long double std::log10 ( long double  __x  )  [inline]

Definition at line 315 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::log10 ( _Tp  __x  )  [inline]

Definition at line 320 of file cmath.

float std::modf ( float  __x,
float *  __iptr 
) [inline]

Definition at line 326 of file cmath.

long double std::modf ( long double  __x,
long double *  __iptr 
) [inline]

Definition at line 330 of file cmath.

template<typename _Tp>
_Tp std::__pow_helper ( _Tp  __x,
int  __n 
) [inline]

Definition at line 335 of file cmath.

References __cmath_power().

Referenced by pow().

float std::pow ( float  __x,
float  __y 
) [inline]

Definition at line 345 of file cmath.

Referenced by std::__pow::operator()(), and pow().

long double std::pow ( long double  __x,
long double  __y 
) [inline]

Definition at line 349 of file cmath.

double std::pow ( double  __x,
int  __i 
) [inline]

Definition at line 353 of file cmath.

float std::pow ( float  __x,
int  __n 
) [inline]

Definition at line 357 of file cmath.

long double std::pow ( long double  __x,
int  __n 
) [inline]

Definition at line 361 of file cmath.

float std::sin ( float  __x  )  [inline]

Definition at line 367 of file cmath.

Referenced by __complex_cos(), __complex_cosh(), __complex_sin(), __complex_sinh(), __complex_tan(), std::__sin::operator()(), and polar().

long double std::sin ( long double  __x  )  [inline]

Definition at line 371 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::sin ( _Tp  __x  )  [inline]

Definition at line 376 of file cmath.

float std::sinh ( float  __x  )  [inline]

Definition at line 382 of file cmath.

Referenced by __complex_cos(), __complex_cosh(), __complex_sin(), __complex_sinh(), __complex_tanh(), and std::__sinh::operator()().

long double std::sinh ( long double  __x  )  [inline]

Definition at line 386 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::sinh ( _Tp  __x  )  [inline]

Definition at line 391 of file cmath.

float std::sqrt ( float  __x  )  [inline]

Definition at line 397 of file cmath.

Referenced by __complex_abs(), __complex_sqrt(), and std::__sqrt::operator()().

long double std::sqrt ( long double  __x  )  [inline]

Definition at line 401 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::sqrt ( _Tp  __x  )  [inline]

Definition at line 406 of file cmath.

float std::tan ( float  __x  )  [inline]

Definition at line 412 of file cmath.

Referenced by std::__tan::operator()().

long double std::tan ( long double  __x  )  [inline]

Definition at line 416 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::tan ( _Tp  __x  )  [inline]

Definition at line 421 of file cmath.

float std::tanh ( float  __x  )  [inline]

Definition at line 427 of file cmath.

Referenced by std::__tanh::operator()().

long double std::tanh ( long double  __x  )  [inline]

Definition at line 431 of file cmath.

template<typename _Tp>
__enable_if<double, __is_integer<_Tp>::__value>::__type std::tanh ( _Tp  __x  )  [inline]

Definition at line 436 of file cmath.

template<typename _Tp>
_Tp std::abs ( const complex< _Tp > &   )  [inline]

Return magnitude of z.

Definition at line 581 of file complex.

References __complex_abs().

template<typename _Tp>
_Tp std::arg ( const complex< _Tp > &   )  [inline]

Return phase angle of z.

Definition at line 608 of file complex.

References __complex_arg().

Referenced by __complex_log().

template<typename _Tp>
_Tp std::norm ( const complex< _Tp > &   )  [inline]

Return z magnitude squared.

Definition at line 641 of file complex.

References _GLIBCXX_FAST_MATH.

Referenced by std::complex< _Tp >::operator/=().

template<typename _Tp>
complex< _Tp > std::conj ( const complex< _Tp > &   )  [inline]

Return complex conjugate of z.

Definition at line 654 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

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

Return complex with magnitude rho and angle theta.

Definition at line 649 of file complex.

References cos(), and sin().

Referenced by __complex_exp(), and pow().

template<typename _Tp>
complex< _Tp > std::cos ( const complex< _Tp > &   )  [inline]

Return complex cosine of z.

Definition at line 686 of file complex.

References __complex_cos().

template<typename _Tp>
complex< _Tp > std::cosh ( const complex< _Tp > &   )  [inline]

Return complex hyperbolic cosine of z.

Definition at line 716 of file complex.

References __complex_cosh().

template<typename _Tp>
complex< _Tp > std::exp ( const complex< _Tp > &   )  [inline]

Return complex base e exponential of z.

Definition at line 742 of file complex.

References __complex_exp().

template<typename _Tp>
complex< _Tp > std::log ( const complex< _Tp > &   )  [inline]

Return complex natural logarithm of z.

Definition at line 769 of file complex.

References __complex_log().

template<typename _Tp>
complex< _Tp > std::log10 ( const complex< _Tp > &   )  [inline]

Return complex base 10 logarithm of z.

Definition at line 774 of file complex.

References log().

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

Return complex cosine of z.

Definition at line 942 of file complex.

References __pow_helper().

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

Return x to the y'th power.

Definition at line 947 of file complex.

References exp(), std::complex< _Tp >::imag(), log(), polar(), pow(), and std::complex< _Tp >::real().

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

Return x to the y'th power.

Definition at line 986 of file complex.

References __complex_pow().

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

Return x to the y'th power.

Definition at line 992 of file complex.

References std::complex< _Tp >::imag(), log(), polar(), pow(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > std::sin ( const complex< _Tp > &   )  [inline]

Return complex sine of z.

Definition at line 804 of file complex.

References __complex_sin().

template<typename _Tp>
complex< _Tp > std::sinh ( const complex< _Tp > &   )  [inline]

Return complex hyperbolic sine of z.

Definition at line 834 of file complex.

References __complex_sinh().

template<typename _Tp>
complex< _Tp > std::sqrt ( const complex< _Tp > &   )  [inline]

Return complex square root of z.

Definition at line 878 of file complex.

References __complex_sqrt().

template<typename _Tp>
complex< _Tp > std::tan ( const complex< _Tp > &   )  [inline]

Return complex tangent of z.

Definition at line 905 of file complex.

References __complex_tan().

template<typename _Tp>
complex< _Tp > std::tanh ( const complex< _Tp > &   )  [inline]

Return complex hyperbolic tangent of z.

Definition at line 933 of file complex.

References __complex_tanh().

template<typename _Tp>
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x plus y.

Definition at line 318 of file complex.

template<typename _Tp>
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Definition at line 327 of file complex.

References std::complex< _Tp >::real().

template<typename _Tp>
complex<_Tp> std::operator+ ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 336 of file complex.

References std::complex< _Tp >::real().

template<typename _Tp>
complex<_Tp> std::operator- ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x minus y.

Definition at line 348 of file complex.

template<typename _Tp>
complex<_Tp> std::operator- ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Definition at line 357 of file complex.

References std::complex< _Tp >::real().

template<typename _Tp>
complex<_Tp> std::operator- ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 366 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
complex<_Tp> std::operator * ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x times y.

Definition at line 378 of file complex.

template<typename _Tp>
complex<_Tp> std::operator * ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Definition at line 387 of file complex.

template<typename _Tp>
complex<_Tp> std::operator * ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 396 of file complex.

template<typename _Tp>
complex<_Tp> std::operator/ ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x divided by y.

Definition at line 408 of file complex.

template<typename _Tp>
complex<_Tp> std::operator/ ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Definition at line 417 of file complex.

template<typename _Tp>
complex<_Tp> std::operator/ ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 426 of file complex.

template<typename _Tp>
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x  )  [inline]

Return x.

Definition at line 437 of file complex.

template<typename _Tp>
complex<_Tp> std::operator- ( const complex< _Tp > &  __x  )  [inline]

Return complex negation of x.

Definition at line 443 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

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

Return true if x is equal to y.

Definition at line 450 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

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

Definition at line 455 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

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

Definition at line 460 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
bool std::operator!= ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return false if x is equal to y.

Definition at line 468 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
bool std::operator!= ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Definition at line 473 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
bool std::operator!= ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 478 of file complex.

References std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp, typename _CharT, class _Traits>
basic_istream<_CharT, _Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
complex< _Tp > &  __x 
)

Extraction operator for complex values.

Definition at line 485 of file complex.

References std::ios_base::failbit, std::basic_istream< _CharT, _Traits >::putback(), and std::basic_ios< _CharT, _Traits >::setstate().

template<typename _Tp, typename _CharT, class _Traits>
basic_ostream<_CharT, _Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
const complex< _Tp > &  __x 
)

Insertion operator for complex values.

Definition at line 518 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<typename _Tp>
_Tp& std::real ( complex< _Tp > &  __z  )  [inline]

Definition at line 531 of file complex.

References std::complex< _Tp >::real().

template<typename _Tp>
const _Tp& std::real ( const complex< _Tp > &  __z  )  [inline]

Definition at line 536 of file complex.

References std::complex< _Tp >::real().

template<typename _Tp>
_Tp& std::imag ( complex< _Tp > &  __z  )  [inline]

Definition at line 541 of file complex.

References std::complex< _Tp >::imag().

template<typename _Tp>
const _Tp& std::imag ( const complex< _Tp > &  __z  )  [inline]

Definition at line 546 of file complex.

References std::complex< _Tp >::imag().

template<typename _Tp>
_Tp std::__complex_abs ( const complex< _Tp > &  __z  )  [inline]

Definition at line 552 of file complex.

References abs(), std::complex< _Tp >::imag(), max(), std::complex< _Tp >::real(), and sqrt().

Referenced by abs().

template<typename _Tp>
_Tp std::__complex_arg ( const complex< _Tp > &  __z  )  [inline]

Definition at line 588 of file complex.

References atan2(), std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

Referenced by arg().

template<typename _Tp>
complex<_Tp> std::__complex_cos ( const complex< _Tp > &  __z  )  [inline]

Definition at line 662 of file complex.

References cos(), cosh(), std::complex< _Tp >::imag(), std::complex< _Tp >::real(), sin(), and sinh().

Referenced by cos().

template<typename _Tp>
complex<_Tp> std::__complex_cosh ( const complex< _Tp > &  __z  )  [inline]

Definition at line 692 of file complex.

References cos(), cosh(), std::complex< _Tp >::imag(), std::complex< _Tp >::real(), sin(), and sinh().

Referenced by cosh().

template<typename _Tp>
complex<_Tp> std::__complex_exp ( const complex< _Tp > &  __z  )  [inline]

Definition at line 722 of file complex.

References exp(), std::complex< _Tp >::imag(), polar(), and std::complex< _Tp >::real().

Referenced by exp().

template<typename _Tp>
complex<_Tp> std::__complex_log ( const complex< _Tp > &  __z  )  [inline]

Definition at line 749 of file complex.

References abs(), arg(), and log().

Referenced by log().

template<typename _Tp>
complex<_Tp> std::__complex_sin ( const complex< _Tp > &  __z  )  [inline]

Definition at line 780 of file complex.

References cos(), cosh(), std::complex< _Tp >::imag(), std::complex< _Tp >::real(), sin(), and sinh().

Referenced by sin().

template<typename _Tp>
complex<_Tp> std::__complex_sinh ( const complex< _Tp > &  __z  )  [inline]

Definition at line 810 of file complex.

References cos(), cosh(), std::complex< _Tp >::imag(), std::complex< _Tp >::real(), sin(), and sinh().

Referenced by sinh().

template<typename _Tp>
complex<_Tp> std::__complex_sqrt ( const complex< _Tp > &  __z  ) 

Definition at line 841 of file complex.

References abs(), std::complex< _Tp >::imag(), std::complex< _Tp >::real(), and sqrt().

Referenced by sqrt().

template<typename _Tp>
complex<_Tp> std::__complex_tan ( const complex< _Tp > &  __z  )  [inline]

Definition at line 885 of file complex.

References cos(), and sin().

Referenced by tan().

template<typename _Tp>
complex<_Tp> std::__complex_tanh ( const complex< _Tp > &  __z  )  [inline]

Definition at line 913 of file complex.

References cosh(), and sinh().

Referenced by tanh().

template<typename _Tp>
complex<_Tp> std::__complex_pow ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Definition at line 962 of file complex.

References exp(), and log().

Referenced by pow().

void std::abort ( void   ) 

Referenced by std::tr1::__throw_bad_weak_ptr(), and function< _Res(_GLIBCXX_TEMPLATE_ARGS)>::operator()().

int std::atexit ( void(*)()   ) 

void std::exit ( int   ) 

Referenced by allocate().

void* std::memchr ( void *  __p,
int  __c,
size_t  __n 
) [inline]

Definition at line 101 of file cstring.

Referenced by std::char_traits< char >::find().

char* std::strchr ( char *  __s1,
int  __n 
) [inline]

Definition at line 107 of file cstring.

char* std::strpbrk ( char *  __s1,
const char *  __s2 
) [inline]

Definition at line 113 of file cstring.

char* std::strrchr ( char *  __s1,
int  __n 
) [inline]

Definition at line 119 of file cstring.

char* std::strstr ( char *  __s1,
const char *  __s2 
) [inline]

Definition at line 125 of file cstring.

terminate_handler std::set_terminate ( terminate_handler   )  throw ()

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

void std::terminate (  ) 

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

unexpected_handler std::set_unexpected ( unexpected_handler   )  throw ()

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

void std::unexpected (  ) 

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

bool std::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().

template<typename _T>
size_t std::__iconv_adaptor ( size_t(*)(iconv_t, _T, size_t *, char **, size_t *)  __func,
iconv_t  __cd,
char **  __inbuf,
size_t *  __inbytes,
char **  __outbuf,
size_t *  __outbytes 
) [inline]

Definition at line 294 of file codecvt_specializations.h.

Referenced by std::codecvt< _InternT, _ExternT, encoding_state >::do_in(), std::codecvt< _InternT, _ExternT, encoding_state >::do_out(), and std::codecvt< _InternT, _ExternT, encoding_state >::do_unshift().

template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream< _CharT, _Traits > & std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
__gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &  __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 546 of file vstring.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::getloc(), std::ios_base::goodbit, std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), ctype_base::space, and std::ios_base::width().

template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_ostream< _CharT, _Traits > & std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
const __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &  __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 615 of file vstring.tcc.

template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream< _CharT, _Traits > & std::getline ( basic_istream< _CharT, _Traits > &  __is,
__gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &  __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 648 of file vstring.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), std::ios_base::badbit, std::ios_base::eofbit, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::erase(), std::ios_base::failbit, std::ios_base::goodbit, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename > class _Base>
basic_istream<_CharT, _Traits>& std::getline ( basic_istream< _CharT, _Traits > &  __is,
__gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &  __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 2185 of file vstring.h.

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

template<typename _Tv>
int std::__convert_from_v ( char *  __out,
const int __size   __attribute__((__unused__)),
const char *  __fmt,
_Tv  __v,
const __c_locale ,
int  __prec 
)

Definition at line 69 of file c++locale.h.

Referenced by std::num_put< _CharT, _OutIter >::_M_insert_float(), and std::money_put< _CharT, _OutIter >::do_put().

_Resetiosflags std::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 63 of file iomanip.

References std::_Resetiosflags::_M_mask.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Resetiosflags  __f 
) [inline]

Definition at line 72 of file iomanip.

References std::_Resetiosflags::_M_mask, and std::ios_base::setf().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Resetiosflags  __f 
) [inline]

Definition at line 80 of file iomanip.

References std::ios_base::setf().

_Setiosflags std::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 97 of file iomanip.

References std::_Setiosflags::_M_mask.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Setiosflags  __f 
) [inline]

Definition at line 106 of file iomanip.

References std::_Setiosflags::_M_mask, and std::ios_base::setf().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Setiosflags  __f 
) [inline]

Definition at line 114 of file iomanip.

References std::ios_base::setf().

_Setbase std::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 132 of file iomanip.

References std::_Setbase::_M_base.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Setbase  __f 
) [inline]

Definition at line 141 of file iomanip.

References std::_Setbase::_M_base, std::ios_base::basefield, std::ios_base::dec, std::ios_base::hex, std::ios_base::oct, and std::ios_base::setf().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Setbase  __f 
) [inline]

Definition at line 152 of file iomanip.

References std::ios_base::basefield, std::ios_base::dec, std::ios_base::hex, std::ios_base::oct, and std::ios_base::setf().

template<typename _CharT>
_Setfill<_CharT> std::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 174 of file iomanip.

References std::_Setfill< _CharT >::_M_c.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Setfill< _CharT >  __f 
) [inline]

Definition at line 183 of file iomanip.

References std::_Setfill< _CharT >::_M_c, and std::basic_ios< _CharT, _Traits >::fill().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Setfill< _CharT >  __f 
) [inline]

Definition at line 191 of file iomanip.

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

_Setprecision std::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 208 of file iomanip.

References std::_Setprecision::_M_n.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Setprecision  __f 
) [inline]

Definition at line 217 of file iomanip.

References std::_Setprecision::_M_n, and std::ios_base::precision().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Setprecision  __f 
) [inline]

Definition at line 225 of file iomanip.

References std::ios_base::precision().

_Setw std::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 242 of file iomanip.

References std::_Setw::_M_n.

template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
_Setw  __f 
) [inline]

Definition at line 251 of file iomanip.

References std::_Setw::_M_n, and std::ios_base::width().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT,_Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
_Setw  __f 
) [inline]

Definition at line 259 of file iomanip.

References std::ios_base::width().

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

Definition at line 688 of file istream.

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

Definition at line 693 of file istream.

template<>
basic_istream<char>& std::operator>> ( basic_istream< char > &  __in,
char *  __s 
)

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

Definition at line 734 of file istream.

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

Definition at line 739 of file istream.

template<typename _Tp>
pair<_Tp*, ptrdiff_t> std::__get_temporary_buffer ( ptrdiff_t  __len,
_Tp *   
)

Definition at line 74 of file memory.

References max(), and nothrow.

Referenced by get_temporary_buffer().

template<typename _Tp>
pair<_Tp*, ptrdiff_t> std::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 110 of file memory.

References __get_temporary_buffer().

Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer().

template<typename _Tp>
void std::return_temporary_buffer ( _Tp *  __p  ) 

The companion to get_temporary_buffer().

Parameters:
p A buffer previously allocated by get_temporary_buffer.
Returns:
None.
Frees the memory pointed to by p.

Definition at line 122 of file memory.

References nothrow.

Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::~_Temporary_buffer().

new_handler std::set_new_handler ( new_handler   )  throw ()

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

Referenced by allocate().

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

Definition at line 428 of file ostream.

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

Definition at line 439 of file ostream.

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

Definition at line 444 of file ostream.

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

Definition at line 478 of file ostream.

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

Definition at line 483 of file ostream.

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& std::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 498 of file ostream.

References flush(), std::basic_ostream< _CharT, _Traits >::put(), and std::basic_ios< _CharT, _Traits >::widen().

Referenced by allocate().

template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>& std::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 509 of file ostream.

References std::basic_ostream< _CharT, _Traits >::put().

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

Flushes the output stream.

This manipulator simply calls the stream's flush() member function.

Definition at line 519 of file ostream.

References std::basic_ostream< _CharT, _Traits >::flush().

Referenced by endl().

template<>
streamsize std::__copy_streambufs ( basic_streambuf< char > *  __sbin,
basic_streambuf< char > *  __sbout 
)


Variable Documentation

istream std::cin

Linked to standard input.

ostream std::cout

Linked to standard output.

ostream std::cerr

Linked to standard error (unbuffered).

Referenced by allocate().

ostream std::clog

Linked to standard error (buffered).

ios_base::Init std::__ioinit [static]

Definition at line 76 of file iostream.

const nothrow_t std::nothrow

Referenced by __get_temporary_buffer(), and return_temporary_buffer().


Generated on Tue Feb 2 16:58:51 2010 for GNU C++ STL by  doxygen 1.4.7