Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

std Namespace Reference

ISO C++ entities toplevel namespace is std. More...

Namespaces

Classes

Typedefs

Enumerations

Functions

Variables

Standard Stream Objects

The <iostream> header declares the eight standard stream objects. For other declarations, see http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch24.html 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.


Detailed Description

ISO C++ entities toplevel namespace is std.


Typedef Documentation

typedef void(* std::new_handler)()

If you write your own error handler to be called by new, it must be of this type.

Definition at line 75 of file new.

typedef long long std::streamoff

Type used by fpos, char_traits<char>, and char_traits<wchar_t>.

In clauses 21.1.3.1 and 27.4.1 streamoff is described as an implementation defined type. Note: In versions of GCC up to and including GCC 3.3, streamoff was typedef long.

Definition at line 94 of file postypes.h.

typedef fpos<mbstate_t> std::streampos

File position for char streams.

Definition at line 228 of file postypes.h.

typedef ptrdiff_t std::streamsize

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

Definition at line 98 of file postypes.h.

typedef fpos<mbstate_t> std::u16streampos

File position for char16_t streams.

Definition at line 234 of file postypes.h.

typedef fpos<mbstate_t> std::u32streampos

File position for char32_t streams.

Definition at line 236 of file postypes.h.

typedef fpos<mbstate_t> std::wstreampos

File position for wchar_t streams.

Definition at line 230 of file postypes.h.


Enumeration Type Documentation

anonymous enum
Todo:
Doc me! See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more. This controls some aspect of the sort routines.

Definition at line 2167 of file stl_algo.h.

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 170 of file limits.

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 155 of file limits.


Function Documentation

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

This is a helper function for the sort routine.

Definition at line 2172 of file stl_algo.h.

References __insertion_sort(), and __unguarded_insertion_sort().

Referenced by sort().

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

This is a helper function for the sort routine.

Definition at line 2187 of file stl_algo.h.

References __insertion_sort(), and __unguarded_insertion_sort().

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

This is an overload used by find() for the Input Iterator case.

Definition at line 128 of file stl_algo.h.

Referenced by find().

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

This is an overload used by find() for the RAI case.

Definition at line 150 of file stl_algo.h.

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

This is an overload used by find_if() for the Input Iterator case.

Definition at line 139 of file stl_algo.h.

Referenced by find_if().

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

This is an overload used by find_if() for the RAI case.

Definition at line 198 of file stl_algo.h.

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

This is an overload used by find_if_not() for the Input Iterator case.

Definition at line 247 of file stl_algo.h.

Referenced by find_if_not().

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

This is an overload used by find_if_not() for the RAI case.

Definition at line 258 of file stl_algo.h.

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

This is a helper function for the rotate algorithm specialized on RAIs. It returns the greatest common divisor of two integer values.

Definition at line 1487 of file stl_algo.h.

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

This is a helper function for the sort routines.

Definition at line 1895 of file stl_algo.h.

References make_heap().

Referenced by partial_sort().

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

This is a helper function for the sort routines.

Definition at line 1908 of file stl_algo.h.

References make_heap().

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

This is a helper function...

Definition at line 1772 of file stl_algo.h.

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

Referenced by stable_partition().

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

This is a helper function for the stable sorting routines.

Definition at line 3353 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 
)

This is a helper function for the stable sorting routines.

Definition at line 3372 of file stl_algo.h.

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

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

This is a helper function for the sort routine.

Definition at line 2095 of file stl_algo.h.

References __unguarded_linear_insert().

Referenced by __final_insertion_sort(), and __inplace_stable_sort().

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

This is a helper function for the sort routine.

Definition at line 2118 of file stl_algo.h.

References __unguarded_linear_insert().

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

This is a helper function for the sort routine.

Definition at line 2289 of file stl_algo.h.

References __introsort_loop(), and __unguarded_partition_pivot().

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

This is a helper function for the sort routine.

Definition at line 2267 of file stl_algo.h.

References __unguarded_partition_pivot().

Referenced by __introsort_loop(), and sort().

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

This is a helper function for the sort routines and for random.tcc.

Definition at line 992 of file stl_algobase.h.

Referenced by nth_element(), std::linear_congruential_engine< _UIntType, __a, __c, __m >::seed(), and sort().

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 
)

This is a helper function for the merge routines.

Definition at line 2829 of file stl_algo.h.

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

Referenced by __merge_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 
)

This is a helper function for the merge routines.

Definition at line 2891 of file stl_algo.h.

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

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 
)

This is a helper function for the merge routines.

Definition at line 2761 of file stl_algo.h.

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

This is a helper function for the merge routines.

Definition at line 2726 of file stl_algo.h.

Referenced by __merge_adaptive().

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

This is a helper function for the merge routines.

Definition at line 2954 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 
)

This is a helper function for the merge routines.

Definition at line 2998 of file stl_algo.h.

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

template<typename _Iterator >
void std::__move_median_first ( _Iterator  __a,
_Iterator  __b,
_Iterator  __c 
)

Swaps the median value of *__a, *__b and *__c to *__a.

Definition at line 76 of file stl_algo.h.

References iter_swap().

Referenced by __unguarded_partition_pivot().

template<typename _Iterator , typename _Compare >
void std::__move_median_first ( _Iterator  __a,
_Iterator  __b,
_Iterator  __c,
_Compare  __comp 
)

Swaps the median value of *__a, *__b and *__c under __comp to *__a.

Definition at line 100 of file stl_algo.h.

References iter_swap().

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

This is a helper function...

Definition at line 1742 of file stl_algo.h.

References iter_swap().

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

This is a helper function...

Definition at line 1717 of file stl_algo.h.

References iter_swap().

Referenced by partition().

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

This is an uglified reverse(_BidirectionalIterator, _BidirectionalIterator) overloaded for bidirectional iterators.

Definition at line 1387 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   
)

This is an uglified reverse(_BidirectionalIterator, _BidirectionalIterator) overloaded for random access iterators.

Definition at line 1407 of file stl_algo.h.

References iter_swap().

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

This is a helper function for the rotate algorithm.

Definition at line 1537 of file stl_algo.h.

References __reverse(), and iter_swap().

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

This is a helper function for the rotate algorithm.

Definition at line 1567 of file stl_algo.h.

References iter_swap(), swap(), and swap_ranges().

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

This is a helper function for the rotate algorithm.

Definition at line 1501 of file stl_algo.h.

References iter_swap().

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

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 
)

This is a helper function for the merge routines.

Definition at line 2797 of file stl_algo.h.

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

Referenced by __merge_adaptive().

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

This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) overloaded for forward iterators.

Definition at line 324 of file stl_algo.h.

Referenced by search_n().

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   
)

This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&, _BinaryPredicate) overloaded for forward iterators.

Definition at line 410 of file stl_algo.h.

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   
)

This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) overloaded for random access iterators.

Definition at line 356 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   
)

This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&, _BinaryPredicate) overloaded for random access iterators.

Definition at line 449 of file stl_algo.h.

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 
)

This is a helper function...

Definition at line 1797 of file stl_algo.h.

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

Referenced by stable_partition().

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

This is a helper function for the sort routine.

Definition at line 2153 of file stl_algo.h.

References __unguarded_linear_insert().

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

This is a helper function for the sort routine.

Definition at line 2140 of file stl_algo.h.

References __unguarded_linear_insert().

Referenced by __final_insertion_sort().

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

This is a helper function for the sort routine.

Definition at line 2058 of file stl_algo.h.

Referenced by __insertion_sort(), and __unguarded_insertion_sort().

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

This is a helper function for the sort routine.

Definition at line 2076 of file stl_algo.h.

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

This is a helper function...

Definition at line 2203 of file stl_algo.h.

References iter_swap().

Referenced by __unguarded_partition_pivot().

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

This is a helper function...

Definition at line 2223 of file stl_algo.h.

References iter_swap().

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

This is a helper function...

Definition at line 2244 of file stl_algo.h.

References __move_median_first(), and __unguarded_partition().

Referenced by __introsort_loop().

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

This is a helper function...

Definition at line 2256 of file stl_algo.h.

References __move_median_first(), and __unguarded_partition().

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

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator) overloaded for forward iterators and output iterator as result.

Definition at line 1239 of file stl_algo.h.

Referenced by unique_copy().

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

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator) overloaded for input iterators and output iterator as result.

Definition at line 1262 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,
input_iterator_tag  ,
output_iterator_tag   
)

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate) overloaded for input iterators and output iterator as result.

Definition at line 1335 of file stl_algo.h.

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

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate) overloaded for input iterators and forward iterator as result.

Definition at line 1364 of file stl_algo.h.

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

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator) overloaded for input iterators and forward iterator as result.

Definition at line 1285 of file stl_algo.h.

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

This is an uglified unique_copy(_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate) overloaded for forward iterators and output iterator as result.

Definition at line 1306 of file stl_algo.h.

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

Constructs an object in existing memory by invoking an allocated object's constructor with an initializer.

Definition at line 73 of file stl_construct.h.

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

Destroy a range of objects. If the value_type of the object has a trivial destructor, the compiler should optimize all of this away, otherwise the objects' destructors must be invoked.

Definition at line 118 of file stl_construct.h.

template<typename _InputIterator , typename _Tp >
_Tp std::accumulate ( _InputIterator  __first,
_InputIterator  __last,
_Tp  __init 
) [inline]

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 116 of file stl_numeric.h.

template<typename _InputIterator , typename _Tp , typename _BinaryOperation >
_Tp std::accumulate ( _InputIterator  __first,
_InputIterator  __last,
_Tp  __init,
_BinaryOperation  __binary_op 
) [inline]

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 142 of file stl_numeric.h.

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 539. partial_sum and adjacent_difference should mention requirements

Definition at line 312 of file stl_numeric.h.

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 539. partial_sum and adjacent_difference should mention requirements

Definition at line 354 of file stl_numeric.h.

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 169 of file stl_iterator_base_funcs.h.

References __iterator_category().

Referenced by __inplace_stable_partition(), __merge_adaptive(), __merge_without_buffer(), __rotate_adaptive(), __stable_partition_adaptive(), std::deque< _Tp, _Alloc >::_M_range_initialize(), equal_range(), lower_bound(), partition_point(), and upper_bound().

template<typename _Result , typename _Functor , typename... _ArgTypes>
_Bind_result<_Result, typename _Maybe_wrap_member_pointer<_Functor>::type (_ArgTypes...)> std::bind ( _Functor  __f,
_ArgTypes...  __args 
) [inline]

Function template for std::bind.

Definition at line 1402 of file functional.

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

Calls base.setf(ios_base::boolalpha).

Definition at line 794 of file ios_base.h.

References std::ios_base::setf().

Referenced by noboolalpha().

template<typename _Tp >
reference_wrapper<const _Tp> std::cref ( const _Tp &  __t  )  [inline]

Denotes a const reference should be taken to a variable.

Definition at line 445 of file functional.

Referenced by cref().

template<typename _Tp >
reference_wrapper<const _Tp> std::cref ( reference_wrapper< _Tp >  __t  )  [inline]

Partial specialization.

Definition at line 457 of file functional.

References cref().

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

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

Definition at line 932 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator>>().

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 111 of file stl_iterator_base_funcs.h.

References __iterator_category().

Referenced by __inplace_stable_partition(), __merge_adaptive(), __merge_without_buffer(), __rotate_adaptive(), __stable_partition_adaptive(), std::deque< _Tp, _Alloc >::_M_range_initialize(), equal_range(), inplace_merge(), is_heap_until(), lower_bound(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), partition_point(), __gnu_cxx::random_sample_n(), and upper_bound().

template<typename _CharT , typename _Traits >
basic_ostream<_CharT, _Traits>& std::endl ( basic_ostream< _CharT, _Traits > &  __os  )  [inline]

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++/manual/bk01pt11ch25s02.html for more on this subject.

Definition at line 541 of file ostream.

References flush(), std::basic_ostream< _CharT, _Traits >::put(), and std::basic_ios< _CharT, _Traits >::widen().

template<typename _CharT , typename _Traits >
basic_ostream<_CharT, _Traits>& std::ends ( basic_ostream< _CharT, _Traits > &  __os  )  [inline]

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

References std::basic_ostream< _CharT, _Traits >::put().

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

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

Definition at line 957 of file ios_base.h.

References std::ios_base::setf().

template<typename _CharT , typename _Traits >
basic_ostream<_CharT, _Traits>& std::flush ( basic_ostream< _CharT, _Traits > &  __os  )  [inline]

Flushes the output stream.

This manipulator simply calls the stream's flush() member function.

Definition at line 562 of file ostream.

References std::basic_ostream< _CharT, _Traits >::flush().

Referenced by endl().

template<typename _Tp >
enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type std::forward ( typename std::identity< _Tp >::type &  __t  )  [inline]

forward (as per N2835) /// Forward lvalues as rvalues.

Definition at line 53 of file move.h.

template<typename _Tp >
enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type std::forward ( typename std::identity< _Tp >::type &&  __t  )  [inline]

Forward rvalues as rvalues.

Definition at line 59 of file move.h.

template<typename _MoneyT >
_Get_money<_MoneyT> std::get_money ( _MoneyT &  __mon,
bool  __intl = false 
) [inline]

Extended manipulator for extracting money.

Parameters:
mon Either long double or a specialization of basic_string.
intl A bool indicating whether international format is to be used.

Sent to a stream object, this manipulator extracts mon.

Definition at line 256 of file iomanip.

template<typename _Tp >
pair<_Tp*, ptrdiff_t> std::get_temporary_buffer ( ptrdiff_t  __len  ) 

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 85 of file stl_tempbuf.h.

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

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 1068 of file basic_string.tcc.

References std::basic_string< _CharT, _Traits, _Alloc >::erase(), std::basic_string< _CharT, _Traits, _Alloc >::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

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 2641 of file basic_string.h.

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

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 622 of file vstring.tcc.

References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::erase(), __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 2447 of file vstring.h.

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

template<typename _Facet >
bool std::has_facet ( const locale &  __loc  )  throw ()

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 91 of file locale_classes.tcc.

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

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

Definition at line 940 of file ios_base.h.

References std::ios_base::setf().

template<typename _InputIterator1 , typename _InputIterator2 , typename _Tp >
_Tp std::inner_product ( _InputIterator1  __first1,
_InputIterator1  __last1,
_InputIterator2  __first2,
_Tp  __init 
) [inline]

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 170 of file stl_numeric.h.

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 
) [inline]

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 202 of file stl_numeric.h.

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

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

Definition at line 907 of file ios_base.h.

References std::ios_base::setf().

template<typename _ForwardIterator , typename _Tp >
void std::iota ( _ForwardIterator  __first,
_ForwardIterator  __last,
_Tp  __value 
)

Create a range of sequentially increasing values.

For each element in the range [first,last) assigns value and increments value as if by ++value.

Parameters:
first Start of range.
last End of range.
value Starting value.
Returns:
Nothing.

Definition at line 81 of file stl_numeric.h.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 915 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<().

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

Calls base.unsetf(ios_base::boolalpha).

Definition at line 802 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::showbase).

Definition at line 818 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::showpoint).

Definition at line 834 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::showpos).

Definition at line 850 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::skipws).

Definition at line 866 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::unitbuf).

Definition at line 898 of file ios_base.h.

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

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

Calls base.unsetf(ios_base::uppercase).

Definition at line 882 of file ios_base.h.

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

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

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

Definition at line 948 of file ios_base.h.

References std::ios_base::setf().

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

Based on operator==.

Definition at line 1853 of file stl_deque.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 difference of two strings.

Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs.compare(rhs) != 0. False otherwise.

Definition at line 2380 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 difference of C string and string.

Parameters:
lhs C string.
rhs String.
Returns:
True if rhs.compare(lhs) != 0. False otherwise.

Definition at line 2392 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 difference of string and C string.

Parameters:
lhs String.
rhs C string.
Returns:
True if lhs.compare(rhs) != 0. False otherwise.

Definition at line 2404 of file basic_string.h.

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

Based on operator==.

Definition at line 1519 of file stl_list.h.

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

Based on operator==.

Definition at line 861 of file stl_map.h.

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

Based on operator==.

Definition at line 792 of file stl_multimap.h.

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

Returns !(x == y).

Definition at line 687 of file stl_multiset.h.

template<typename _Res , typename... _Args>
bool std::operator!= ( const function< _Res(_Args...)> &  __f,
_M_clear_type *   
) [inline]

Compares a polymorphic function object wrapper against 0 (the NULL pointer).

Returns:
false if the wrapper has no target, true otherwise

This function will not throw an exception.

Definition at line 2200 of file functional.

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 167 of file stl_pair.h.

template<typename _Res , typename... _Args>
bool std::operator!= ( _M_clear_type *  ,
const function< _Res(_Args...)> &  __f 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 2206 of file functional.

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

Based on operator==.

Definition at line 294 of file stl_queue.h.

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

Returns !(x == y).

Definition at line 700 of file stl_set.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 259 of file stl_stack.h.

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

Forward list iterator inequality comparison.

Definition at line 264 of file forward_list.h.

template<typename _Tp , typename _Alloc >
bool std::operator!= ( const forward_list< _Tp, _Alloc > &  __lx,
const forward_list< _Tp, _Alloc > &  __ly 
) [inline]

Based on operator==.

Definition at line 1258 of file forward_list.h.

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

Based on operator==.

Definition at line 1196 of file stl_vector.h.

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

Global bitwise operations on bitsets.

Parameters:
x A bitset.
y A bitset of the same size as x.
Returns:
A new bitset.

These should be self-explanatory.

Definition at line 1366 of file bitset.

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 2263 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 692 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 2300 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 2316 of file basic_string.h.

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 708 of file basic_string.tcc.

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

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

Deque ordering relation.

Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 1845 of file stl_deque.h.

References lexicographical_compare().

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

Multimap ordering relation.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 785 of file stl_multimap.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 if string precedes string.

Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs precedes rhs. False otherwise.

Definition at line 2417 of file basic_string.h.

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

List ordering relation.

Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 1512 of file stl_list.h.

References lexicographical_compare().

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

Map ordering relation.

Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 854 of file stl_map.h.

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

Multiset ordering relation.

Parameters:
x A multiset.
y A multiset of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 680 of file stl_multiset.h.

template<class _T1 , class _T2 >
bool std::operator< ( const pair< _T1, _T2 > &  __x,
const pair< _T1, _T2 > &  __y 
) [inline]
template<typename _Tp , typename _Seq >
bool std::operator< ( const queue< _Tp, _Seq > &  __x,
const queue< _Tp, _Seq > &  __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 288 of file stl_queue.h.

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

Set ordering relation.

Parameters:
x A set.
y A set of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 693 of file stl_set.h.

template<typename _Tp , typename _Alloc >
bool std::operator< ( const forward_list< _Tp, _Alloc > &  __lx,
const forward_list< _Tp, _Alloc > &  __ly 
) [inline]

Forward list ordering relation.

Parameters:
lx A forward_list.
ly A forward_list of the same type as lx.
Returns:
True iff lx is lexicographically less than ly.

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

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

Definition at line 1250 of file forward_list.h.

References lexicographical_compare().

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

Vector ordering relation.

Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff x is lexicographically less than y.

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

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

Definition at line 1189 of file stl_vector.h.

References lexicographical_compare().

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

Stack ordering relation.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff x is 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 253 of file stl_stack.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 2441 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 precedes C string.

Parameters:
lhs String.
rhs C string.
Returns:
True if lhs precedes rhs. False otherwise.

Definition at line 2429 of file basic_string.h.

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

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

template<class _CharT , class _Traits , size_t _Nb>
std::basic_ostream<_CharT, _Traits>& std::operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const bitset< _Nb > &  __x 
)

Global I/O operators for bitsets.

Direct I/O between streams and bitsets is supported. Output is straightforward. Input will skip whitespace, only accept 0 and 1 characters, and will only extract as many digits as the bitset will hold.

Definition at line 1471 of file bitset.

References std::__ctype_abstract_base< _CharT >::widen().

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

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

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

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

template<typename _CharT , typename _Traits >
basic_ostream<_CharT, _Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __out,
char  __c 
) [inline]

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

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

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

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 
) [inline]

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 2401 of file vstring.h.

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

String inserters.

Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer

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

Definition at line 321 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 
) [inline]

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

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

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

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

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

template<typename _CharT , typename _Traits , typename _Tp >
basic_ostream<_CharT, _Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &&  __os,
const _Tp &  __x 
) [inline]

Generic inserter for rvalue stream.

Parameters:
os An input stream.
x A reference to the object being inserted.
Returns:
os

This is just a forwarding function to allow insertion to rvalue streams since they won't bind to the inserter functions that take an lvalue reference.

Definition at line 579 of file ostream.

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 
) [inline]

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 2600 of file basic_string.h.

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

Character inserters.

Parameters:
out An output stream.
c A character.
Returns:
out

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

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

Definition at line 471 of file ostream.

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

Based on operator<.

Definition at line 1867 of file stl_deque.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 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 2491 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 2515 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 follow C string.

Parameters:
lhs String.
rhs C string.
Returns:
True if lhs doesn't follow rhs. False otherwise.

Definition at line 2503 of file basic_string.h.

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

Based on operator<.

Definition at line 1531 of file stl_list.h.

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

Based on operator<.

Definition at line 875 of file stl_map.h.

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

Based on operator<.

Definition at line 806 of file stl_multimap.h.

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

Returns !(y < x).

Definition at line 701 of file stl_multiset.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 179 of file stl_pair.h.

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

Based on operator<.

Definition at line 306 of file stl_queue.h.

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

Returns !(y < x).

Definition at line 714 of file stl_set.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 271 of file stl_stack.h.

template<typename _Tp , typename _Alloc >
bool std::operator<= ( const forward_list< _Tp, _Alloc > &  __lx,
const forward_list< _Tp, _Alloc > &  __ly 
) [inline]

Based on operator<.

Definition at line 1279 of file forward_list.h.

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

Based on operator<.

Definition at line 1208 of file stl_vector.h.

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 2355 of file basic_string.h.

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

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

Map equality comparison.

Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff the size and elements of the maps are equal.

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

Definition at line 837 of file stl_map.h.

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 2367 of file basic_string.h.

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

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

Multimap equality comparison.

Parameters: