std Namespace Reference


Detailed Description

ISO C++ entities toplevel namespace is std.

Classes

Namespaces

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


Typedef Documentation

typedef integral_constant<bool, false> std::false_type

typedef for true_type

Definition at line 83 of file tr1_impl/type_traits.

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 77 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 73 of file postypes.h.

typedef fpos<mbstate_t> std::streampos

File position for char streams.

Definition at line 207 of file postypes.h.

typedef ptrdiff_t std::streamsize

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

Definition at line 77 of file postypes.h.

typedef void(*) std::terminate_handler()

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

Definition at line 83 of file exception.

typedef integral_constant<bool, true> std::true_type

typedef for true_type

Definition at line 80 of file tr1_impl/type_traits.

typedef void(*) std::unexpected_handler()

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

Definition at line 86 of file exception.

typedef fpos<mbstate_t> std::wstreampos

File position for wchar_t streams.

Definition at line 209 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 1819 of file stl_algo.h.

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

enum std::float_round_style

Describes the rounding style for floating-point types.

This is used in the std::numeric_limits class.

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


Function Documentation

template<typename _Tp>
std::complex<_Tp> std::__complex_acos ( const std::complex< _Tp > &  __z  )  [inline]

acos(__z) [8.1.2].

Definition at line 59 of file impl/complex.

References _GLIBCXX_TR1, and asin().

Referenced by acos().

template<typename _Tp>
std::complex<_Tp> std::__complex_acosh ( const std::complex< _Tp > &  __z  ) 

acosh(__z) [8.1.5].

Definition at line 175 of file impl/complex.

References log(), and sqrt().

Referenced by acosh().

template<typename _Tp>
std::complex<_Tp> std::__complex_asin ( const std::complex< _Tp > &  __z  )  [inline]

asin(__z) [8.1.3].

Definition at line 95 of file impl/complex.

References _GLIBCXX_TR1, and asinh().

Referenced by asin().

template<typename _Tp>
std::complex<_Tp> std::__complex_asinh ( const std::complex< _Tp > &  __z  ) 

asinh(__z) [8.1.6].

Definition at line 214 of file impl/complex.

References log(), and sqrt().

Referenced by asinh().

template<typename _Tp>
std::complex<_Tp> std::__complex_atan ( const std::complex< _Tp > &  __z  ) 

atan(__z) [8.1.4].

Definition at line 131 of file impl/complex.

References atan2(), and log().

Referenced by atan().

template<typename _Tp>
std::complex<_Tp> std::__complex_atanh ( const std::complex< _Tp > &  __z  ) 

atanh(__z) [8.1.7].

Definition at line 253 of file impl/complex.

References atan2(), and log().

Referenced by atanh().

size_t std::__deque_buf_size ( size_t  __size  )  [inline]

This function controls the size of memory nodes.

Parameters:
size The size of an element.
Returns:
The number (not byte size) of elements per node.
This function started off as a compiler kludge from SGI, but seems to be a useful wrapper around a repeated constant expression. The '512' is tunable (and no other code needs to change), but no investigation has been done since inheriting the SGI code.

Definition at line 82 of file stl_deque.h.

Referenced by std::_Deque_base< _Tp, _Alloc >::_M_allocate_node(), std::_Deque_base< _Tp, _Alloc >::_M_deallocate_node(), std::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), std::deque< _Tp, _Alloc >::_S_buffer_size(), and std::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size().

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

References __insertion_sort(), and __unguarded_insertion_sort().

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

This is a helper function for the sort routine.

Definition at line 1824 of file stl_algo.h.

References __insertion_sort(), and __unguarded_insertion_sort().

Referenced by sort().

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

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

Referenced by find().

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

Referenced by find_if().

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

Referenced by __rotate().

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

References __pop_heap().

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

References __pop_heap().

Referenced by __introselect(), and partial_sort().

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

References advance(), and distance().

Referenced by stable_partition().

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

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

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 3054 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::__insertion_sort ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

This is a helper function for the sort routine.

Definition at line 1770 of file stl_algo.h.

References __unguarded_linear_insert().

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

This is a helper function for the sort routine.

Definition at line 1747 of file stl_algo.h.

References __unguarded_linear_insert().

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

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

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

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

References __median(), and __unguarded_partition().

Referenced by __introsort_loop(), and sort().

template<typename _Functor, typename... _Args>
__gnu_cxx::__enable_if< (is_member_pointer< _Functor >::value &&!is_function< _Functor >::value &&!is_function< typename remove_pointer< _Functor >::type >::value), typename result_of< _Functor(_Args...)>::type >::__type std::__invoke ( _Functor &  __f,
_Args &...  __args 
) [inline]

Invoke a function object, which may be either a member pointer or a function object. The first parameter will tell which.

Definition at line 270 of file tr1_impl/functional.

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

This function is not a part of the C++ standard but is syntactic sugar for internal library use only.

Definition at line 166 of file stl_iterator_base_types.h.

Referenced by __gnu_cxx::__uninitialized_copy_n(), std::vector< bool, _Alloc >::_M_assign_dispatch(), std::vector< bool, _Alloc >::_M_initialize_dispatch(), 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(), partition(), reverse(), search_n(), __gnu_cxx::uninitialized_copy_n(), and unique_copy().

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

This is a helper function for the sort routines. Precondition: __n > 0.

Definition at line 1961 of file stl_algo.h.

Referenced by std::tr1::__detail::__log_gamma_bernoulli(), nth_element(), and sort().

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

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

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

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

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

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

Referenced by __merge_adaptive().

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

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

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

References advance(), and distance().

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

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

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

Referenced by partition().

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

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

Referenced by __rotate(), and reverse().

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

References __gcd(), __glibcxx_function_requires, and _GLIBCXX_MOVE.

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

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

References __glibcxx_function_requires, and __reverse().

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

Referenced by 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 2525 of file stl_algo.h.

References advance(), and distance().

Referenced by __merge_adaptive().

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 408 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,
std::forward_iterator_tag   
)

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

Definition at line 369 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 315 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,
std::forward_iterator_tag   
)

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

Definition at line 283 of file stl_algo.h.

Referenced by search_n(), and std::__parallel::search_n_switch().

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

References advance(), and distance().

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

References __unguarded_linear_insert().

Referenced by __final_insertion_sort().

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

This is a helper function for the sort routine.

Definition at line 1730 of file stl_algo.h.

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

This is a helper function for the sort routine.

Definition at line 1714 of file stl_algo.h.

Referenced by __insertion_sort(), and __unguarded_insertion_sort().

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

This is a helper function...

Definition at line 1875 of file stl_algo.h.

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

This is a helper function...

Definition at line 1855 of file stl_algo.h.

Referenced by __introselect(), and __introsort_loop().

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

References __glibcxx_function_requires.

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

References __glibcxx_function_requires.

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

References __glibcxx_function_requires.

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

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

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

Referenced by unique_copy().

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

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

Definition at line 75 of file stl_construct.h.

Referenced by __gnu_cxx::__uninitialized_copy_n(), std::raw_storage_iterator< _OutputIterator, _Tp >::operator=(), std::__uninitialized_fill<>::uninitialized_fill(), and std::__uninitialized_fill_n<>::uninitialized_fill_n().

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 97 of file stl_construct.h.

References _Destroy().

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

Destroy the object pointed to by a pointer type.

Definition at line 87 of file stl_construct.h.

Referenced by __uninitialized_copy_a(), __uninitialized_copy_move(), __gnu_cxx::__uninitialized_copy_n(), __gnu_cxx::__uninitialized_copy_n_a(), __uninitialized_fill_a(), __uninitialized_fill_move(), __uninitialized_fill_n_a(), __uninitialized_move_copy(), __uninitialized_move_fill(), _Destroy(), std::vector< _Tp, _Alloc >::_M_assign_aux(), std::deque< _Tp, _Alloc >::_M_destroy_data_aux(), std::vector< std::sub_match< _Bi_iter >, _Allocator >::_M_erase_at_end(), std::deque< _Tp, _Alloc >::_M_fill_initialize(), std::vector< _Tp, _Alloc >::_M_fill_insert(), std::vector< _Tp, _Alloc >::_M_insert_aux(), std::deque< _Tp, _Alloc >::_M_range_initialize(), std::vector< _Tp, _Alloc >::_M_range_insert(), std::vector< _Tp, _Alloc >::operator=(), std::vector< _Tp, _Alloc >::reserve(), std::__uninitialized_copy<>::uninitialized_copy(), std::__uninitialized_fill<>::uninitialized_fill(), std::__uninitialized_fill_n<>::uninitialized_fill_n(), std::_Temporary_buffer< _ForwardIterator, _Tp >::~_Temporary_buffer(), and std::vector< std::sub_match< _Bi_iter >, _Allocator >::~vector().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

Referenced by __gnu_parallel::parallel_partial_sum_linear().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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 173 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(), std::vector< _Tp, _Alloc >::_M_assign_aux(), std::deque< _Tp, _Alloc >::_M_assign_aux(), std::vector< bool, _Alloc >::_M_assign_aux(), std::deque< _Tp, _Alloc >::_M_insert_aux(), std::deque< _Tp, _Alloc >::_M_range_initialize(), std::vector< _Tp, _Alloc >::_M_range_insert(), equal_range(), lower_bound(), and upper_bound().

template<typename _Tp>
__gnu_cxx::__promote<_Tp>::__type std::arg ( _Tp  __x  )  [inline]

Additional overloads [8.1.9].

Definition at line 312 of file impl/complex.

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

Referenced by regex_replace().

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

bind

Definition at line 1344 of file tr1_impl/functional.

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

Calls base.setf(ios_base::boolalpha).

Definition at line 792 of file ios_base.h.

References std::ios_base::setf().

Referenced by noboolalpha().

template<typename _II, typename _OI>
_OI std::copy ( _II  __first,
_II  __last,
_OI  __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 456 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __copy_move_backward_a2(), __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 3987 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 4011 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

Definition at line 930 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<(), and 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 115 of file stl_iterator_base_funcs.h.

References __distance(), and __iterator_category().

Referenced by std::__detail::__distance_fw(), __find_end(), __inplace_stable_partition(), __is_heap(), __merge_adaptive(), __merge_without_buffer(), __rotate_adaptive(), __stable_partition_adaptive(), std::vector< _Tp, _Alloc >::_M_assign_aux(), std::deque< _Tp, _Alloc >::_M_assign_aux(), std::vector< bool, _Alloc >::_M_assign_aux(), std::vector< bool, _Alloc >::_M_initialize_range(), std::vector< bool, _Alloc >::_M_insert_range(), std::vector< std::sub_match< _Bi_iter >, _Allocator >::_M_range_initialize(), std::deque< _Tp, _Alloc >::_M_range_initialize(), std::vector< _Tp, _Alloc >::_M_range_insert(), std::deque< _Tp, _Alloc >::_M_range_insert_aux(), std::_Hashtable< _Value, _Value, _Alloc, std::_Identity< _Value >, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, __cache_hash_code, true, false >::bucket_size(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::count(), equal_range(), inplace_merge(), __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal(), __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique(), std::sub_match< _BiIter >::length(), lower_bound(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), std::match_results< _Bi_iter >::position(), __gnu_cxx::random_sample_n(), std::list< _Tp, _Alloc >::size(), 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++/27_io/howto.html#2 for more on this subject.

Definition at line 545 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 556 of file ostream.

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

template<typename _II1, typename _II2>
bool std::equal ( _II1  __first1,
_II1  __last1,
_II2  __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 938 of file stl_algobase.h.

References __equal_aux(), __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
bool std::equal ( _IIter1  __first1,
_IIter1  __last1,
_IIter2  __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 969 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _Tp>
_Tp std::fabs ( const std::complex< _Tp > &   )  [inline]

fabs(__z) [8.1.8].

Definition at line 301 of file impl/complex.

References abs().

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

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 char types filling contiguous areas of memory, this becomes an inline call to memset or wmemset.

Definition at line 719 of file stl_algobase.h.

References __fill_a(), __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _OI, typename _Size, typename _Tp>
_OI std::fill_n ( _OI  __first,
_Size  __n,
const _Tp &  __value 
) [inline]

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 char types filling contiguous areas of memory, this becomes an inline call to memset or @ wmemset.

Definition at line 772 of file stl_algobase.h.

References __fill_n_a(), and __glibcxx_function_requires.

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

References __find(), __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 651 of file stl_algo.h.

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

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

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

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

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

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

Definition at line 955 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<().

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

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

Referenced by __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >::append(), endl(), __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >::push_back(), and __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >::~sequence_buffer().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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 and returning std::iterator_traits<_ForwardIterator>::value_type
Returns:
generate() returns no value.
Performs the assignment *i = gen() for each i in the range [first,last).

Definition at line 4398 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 and returning std::iterator_traits<_ForwardIterator>::value_type
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 4425 of file stl_algo.h.

References __glibcxx_function_requires.

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

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

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

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

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

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

References std::basic_ios< _CharT, _Traits >::_M_setstate(), __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>
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 2460 of file basic_string.h.

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

template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::getline ( basic_istream< _CharT, _Traits > &  __is,
basic_string< _CharT, _Traits, _Alloc > &  __str,
_CharT  __delim 
)

Read a line from stream into a string.

Parameters:
is Input stream.
str Buffer to store into.
delim Character marking end of line.
Returns:
Reference to the input stream.
Stores characters from is into str until delim is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into str. Any previous contents of str are erased. If delim was encountered, it is extracted but not stored into str.

Definition at line 1043 of file basic_string.tcc.

References std::basic_ios< _CharT, _Traits >::_M_setstate(), 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 _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 96 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 938 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<(), and operator>>().

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 169 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 
) [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 137 of file stl_numeric.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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 2830 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 _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 2776 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 _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 645 of file stl_iterator.h.

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

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

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

Definition at line 905 of file ios_base.h.

References std::ios_base::setf().

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

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

Definition at line 2611 of file locale_facets.h.

References std::ctype_base::alnum.

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

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

Definition at line 2587 of file locale_facets.h.

References std::ctype_base::alpha.

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

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

Definition at line 2569 of file locale_facets.h.

References std::ctype_base::cntrl.

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

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

Definition at line 2593 of file locale_facets.h.

References std::ctype_base::digit.

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

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

Definition at line 2617 of file locale_facets.h.

References std::ctype_base::graph.

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

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

Definition at line 2581 of file locale_facets.h.

References std::ctype_base::lower.

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

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

Definition at line 2563 of file locale_facets.h.

References std::ctype_base::print.

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

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

Definition at line 2599 of file locale_facets.h.

References std::ctype_base::punct.

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

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

Definition at line 2557 of file locale_facets.h.

References std::ctype_base::space.

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

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

Definition at line 2575 of file locale_facets.h.

References std::ctype_base::upper.

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

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

Definition at line 2605 of file locale_facets.h.

References std::ctype_base::xdigit.

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

References __glibcxx_function_requires.

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

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

Definition at line 913 of file ios_base.h.

References std::ios_base::setf().

Referenced by __ostream_insert(), operator<<(), and __gnu_parallel::parallel_partition().

template<typename _II1, typename _II2, typename _Compare>
bool std::lexicographical_compare ( _II1  __first1,
_II1  __last1,
_II2  __first2,
_II2  __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 lexicographical_compare, but uses the comp parameter instead of <.

Definition at line 1033 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _II1, typename _II2>
bool std::lexicographical_compare ( _II1  __first1,
_II1  __last1,
_II2  __first2,
_II2  __last2 
) [inline]

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __lexicographical_compare_aux().

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

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 411 of file stl_heap.h.

References __adjust_heap(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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 371 of file stl_heap.h.

References __adjust_heap(), __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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

Referenced by __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_get_distance(), std::__detail::_Prime_rehash_policy::_M_need_rehash(), std::__debug::set< _Key, _Compare, _Allocator >::equal_range(), __gnu_debug::_Safe_association< ::std::__debug::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > >::equal_range(), std::__debug::multiset< _Key, _Compare, _Allocator >::equal_range(), std::__debug::multimap< _Key, _Tp, _Compare, _Allocator >::equal_range(), std::__debug::map< _Key, _Tp, _Compare, _Allocator >::equal_range(), std::_Hashtable< _Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys >::equal_range(), __gnu_parallel::find_template(), __gnu_debug::_Safe_association< ::std::__debug::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > >::insert(), std::__parallel::mismatch_switch(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), std::__detail::_Map_base< _Key, _Pair, std::_Select1st< _Pair >, true, _Hashtable >::operator[](), __gnu_parallel::parallel_merge_advance(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_set_operation(), __gnu_parallel::parallel_sort_mwms_pu(), __gnu_parallel::parallel_sort_qsb(), __gnu_parallel::qsb_local_sort_with_helping(), __gnu_parallel::find_first_of_selector< ForwardIterator >::sequential_algorithm(), __gnu_parallel::adjacent_find_selector::sequential_algorithm(), and __gnu_parallel::find_if_selector::sequential_algorithm().

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

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

References __glibcxx_function_requires.

Referenced by std::tr1::__detail::__bessel_jn(), std::tr1::__detail::__ellint_rd(), std::tr1::__detail::__ellint_rf(), std::tr1::__detail::__ellint_rj(), std::_Hashtable< _Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys >::_Hashtable(), std::vector< std::sub_match< _Bi_iter >, _Allocator >::_M_check_len(), std::vector< bool, _Alloc >::_M_check_len(), std::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), std::__detail::_Prime_rehash_policy::_M_need_rehash(), std::deque< _Tp, _Alloc >::_M_reallocate_map(), __gnu_cxx::rope< _CharT, _Alloc >::_S_apply_to_pieces(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow(), and std::_Hashtable< _Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys >::rehash().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

template<typename _Tp, typename _Class>
_Mem_fn<_Tp _Class::*> std::mem_fn ( _Tp _Class::*  __pm  )  [inline]

Returns a function object that forwards to the member pointer pm.

Definition at line 799 of file tr1_impl/functional.

Referenced by __callable_functor(), std::_Function_handler< void(_ArgTypes...), _Member _Class::* >::_M_invoke(), and std::_Function_handler< _Res(_ArgTypes...), _Member _Class::* >::_M_invoke().

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

References __glibcxx_function_requires, and __glibcxx_requires_sorted_set_pred.

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

References __glibcxx_function_requires, and __glibcxx_requires_sorted_set.

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

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

References __glibcxx_function_requires.

Referenced by std::__lexicographical_compare< true >::__lc(), __merge_sort_loop(), std::bitset< _Nb >::_M_copy_from_string(), 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(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), __gnu_parallel::multiway_merge_3_combined(), __gnu_parallel::multiway_merge_4_combined(), __gnu_parallel::multiway_merge_loser_tree(), __gnu_parallel::multiway_merge_loser_tree_combined(), __gnu_parallel::multiway_merge_loser_tree_sentinel(), __gnu_parallel::multiway_merge_loser_tree_unguarded(), std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_random_shuffle_drs(), __gnu_parallel::parallel_set_operation(), __gnu_parallel::parallel_sort_qs_divide(), std::basic_istream< _CharT, _Traits >::readsome(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::rfind(), std::basic_string< _CharT, _Traits, _Alloc >::rfind(), __gnu_parallel::search_template(), __gnu_parallel::sequential_random_shuffle(), 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 _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 5562 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 5535 of file stl_algo.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 1109 of file stl_algobase.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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 A comparison functor.
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 3273 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 3217 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

Calls base.unsetf(ios_base::boolalpha).

Definition at line 800 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 816 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 832 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 848 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 864 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 896 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 880 of file ios_base.h.

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

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

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __introselect(), and __lg().

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

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, __introselect(), and __lg().

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

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

Definition at line 946 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<(), and operator>>().

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

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 _Tp, typename _Alloc>
bool std::operator!= ( const vector< _Tp, _Alloc > &  __x,
const vector< _Tp, _Alloc > &  __y 
) [inline]

Based on operator==.

Definition at line 1133 of file stl_vector.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 _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 619 of file stl_set.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 297 of file stl_queue.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 164 of file stl_pair.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 606 of file stl_multiset.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 708 of file stl_multimap.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 779 of file stl_map.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 1422 of file stl_list.h.

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 1725 of file stl_deque.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 2224 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 2212 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 difference of two strings.

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

Definition at line 2200 of file basic_string.h.

template<typename _Signature>
bool std::operator!= ( const function< _Signature > &  __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 2102 of file tr1_impl/functional.

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

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

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

template<typename _CharT, typename _Traits, typename _Alloc>
basic_string< _CharT, _Traits, _Alloc > std::operator+ ( _CharT  __lhs,
const basic_string< _CharT, _Traits, _Alloc > &  __rhs 
)

Concatenate character and string.

Parameters:
lhs First string.
rhs Last string.
Returns:
New string with lhs followed by rhs.

Definition at line 683 of file basic_string.tcc.

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

template<typename _CharT, typename _Traits, typename _Alloc>
basic_string< _CharT, _Traits, _Alloc > std::operator+ ( const _CharT *  __lhs,
const basic_string< _CharT, _Traits, _Alloc > &  __rhs 
)

Concatenate C string and string.

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

Definition at line 667 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+ ( 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 2083 of file basic_string.h.

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

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 1126 of file stl_vector.h.

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 256 of file stl_stack.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 612 of file stl_set.h.

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 291 of file stl_queue.h.

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 157 of file stl_pair.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 599 of file stl_multiset.h.

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

Multimap ordering relation.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff x is 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 701 of file stl_multimap.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]

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 772 of file stl_map.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 1415 of file stl_list.h.

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 1717 of file stl_deque.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 2261 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 2249 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 if string precedes string.

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

Definition at line 2237 of file basic_string.h.

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

References __ostream_insert().

template<typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>& std::operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const bernoulli_distribution &  __x 
)

Inserts a bernoulli_distribution random number distribution __x into the output stream __os.

Parameters:
__os An output stream.
__x A bernoulli_distribution random number distribution.
Returns:
The output stream with the state of __x inserted or in an error state.

Definition at line 828 of file random.tcc.

References std::ios_base::flags(), left(), and scientific().

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

References __ostream_insert().

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

References __ostream_insert(), and std::basic_ios< _CharT, _Traits >::setstate().

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

References __ostream_insert().

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 1145 of file stl_vector.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 274 of file stl_stack.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 633 of file stl_set.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 309 of file stl_queue.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 176 of file stl_pair.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 620 of file stl_multiset.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 722 of file stl_multimap.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 793 of file stl_map.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 1434 of file stl_list.h.

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 1739 of file stl_deque.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 2335 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 2323 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 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 2311 of file basic_string.h.

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<typename _Tp, typename _Alloc>
bool std::operator== ( const vector< _Tp, _Alloc > &  __x,
const vector< _Tp, _Alloc > &  __y 
) [inline]

Vector equality comparison.

Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff the size and elements of the vectors are equal.
This is an equivalence relation. It is linear in the size of the vectors. Vectors are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1109 of file stl_vector.h.

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

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

Stack equality comparison.

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

Definition at line 238 of file stl_stack.h.

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

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

Set equality comparison.

Parameters:
x A set.
y A set of the same type as x.
Returns:
True iff the size and elements of the sets are equal.
This is an equivalence relation. It is linear in the size of the sets. Sets are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 595 of file stl_set.h.

References std::set< _Key, _Compare, _Alloc >::_M_t.

template<typename _Tp, typename _Seq>
bool std::operator== ( const queue< _Tp, _Seq > &  __x,
const queue< _Tp, _Seq > &  __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 273 of file stl_queue.h.

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

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

References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.

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

Multiset equality comparison.

Parameters:
x A multiset.
y A multiset of the same type as x.
Returns:
True iff the size and elements of the multisets are equal.
This is an equivalence relation. It is linear in the size of the multisets. Multisets are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 582 of file stl_multiset.h.

References std::multiset< _Key, _Compare, _Alloc >::_M_t.

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

Multimap equality comparison.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff the size and elements of the maps are equal.
This is an equivalence relation. It is linear in the size of the multimaps. Multimaps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 684 of file stl_multimap.h.

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

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 755 of file stl_map.h.

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

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

List equality comparison.

Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff the size and elements of the lists are equal.
This is an equivalence relation. It is linear in the size of the lists. Lists are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1386 of file stl_list.h.

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

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

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

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

Deque equality comparison.

Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff the size and elements of the deques are equal.
This is an equivalence relation. It is linear in the size of the deques. Deques are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1699 of file stl_deque.h.

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

template<typename _StateT>
bool std::operator== ( const fpos< _StateT > &  __lhs,
const fpos< _StateT > &  __rhs 
) [inline]

Test if equivalent to another position.

Definition at line 195 of file postypes.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 2187 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 2175 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 equivalence of two strings.

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

Definition at line 2154 of file basic_string.h.

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

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

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

Returns:
true if the wrapper has no target, false otherwise
This function will not throw an exception.

Definition at line 2084 of file tr1_impl/functional.

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 1139 of file stl_vector.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.

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 626 of file stl_set.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 303 of file stl_queue.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 170 of file stl_pair.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 613 of file stl_multiset.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 715 of file stl_multimap.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 786 of file stl_map.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 1428 of file stl_list.h.

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 1732 of file stl_deque.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 follows string.

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

Definition at line 2298 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 2286 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 2274 of file basic_string.h.

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

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 1151 of file stl_vector.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 280 of file stl_stack.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 640 of file stl_set.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 315 of file stl_queue.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 182 of file stl_pair.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 627 of file stl_multiset.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 729 of file stl_multimap.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 800 of file stl_map.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 1440 of file stl_list.h.

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 1746 of file stl_deque.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 precede string.

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

Definition at line 2372 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 2360 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 2348 of file basic_string.h.

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

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

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

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

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 890 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, std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), std::ctype_base::space, and std::ios_base::width().

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

Character extractors.

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

Definition at line 858 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<class _CharT, class _Traits, size_t _Nb>
std::basic_istream<_CharT, _Traits>& std::operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
bitset< _Nb > &  __x 
)

Global I/O operators for bitsets.

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

Definition at line 1242 of file bitset.

References std::bitset< _Nb >::_M_copy_from_string(), std::basic_ios< _CharT, _Traits >::_M_setstate(), std::basic_string< _CharT, _Traits, _Alloc >::empty(), std::basic_string< _CharT, _Traits, _Alloc >::push_back(), std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_string< _CharT, _Traits, _Alloc >::reserve(), std::basic_ios< _CharT, _Traits >::setstate(), and std::basic_ios< _CharT, _Traits >::widen().

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

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

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

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __heap_select().

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

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __heap_select().

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

References __adjust_heap(), __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __adjust_heap(), __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 240 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 200 of file stl_numeric.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

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 349 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::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 276 of file stl_heap.h.

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

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 A comparison functor.
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 3384 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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 203 of file stl_heap.h.

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

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 154 of file stl_heap.h.

References __glibcxx_function_requires, __glibcxx_requires_heap, __glibcxx_requires_valid_range, __push_heap(), and _GLIBCXX_MOVE.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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 4336 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 3444 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 3481 of file stl_algo.h.

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

_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 64 of file iomanip.

References std::_Resetiosflags::_M_mask.

template<typename _Tp>
void std::return_temporary_buffer ( _Tp *  __p  )  [inline]

The companion to get_temporary_buffer().

Parameters:
p A buffer previously allocated by get_temporary_buffer.
Returns:
None.
Frees the memory pointed to by p.

Definition at line 117 of file stl_tempbuf.h.

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

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

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

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

Definition at line 921 of file ios_base.h.

References std::ios_base::setf().

Referenced by __gnu_parallel::parallel_partition().

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and __rotate().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

Definition at line 963 of file ios_base.h.

References std::ios_base::setf().

Referenced by operator<<().

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

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

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

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

new_handler std::set_new_handler ( new_handler   )  throw ()

previous handler.

terminate_handler std::set_terminate ( terminate_handler   )  throw ()

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

unexpected_handler std::set_unexpected ( unexpected_handler   )  throw ()

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

_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 133 of file iomanip.

References std::_Setbase::_M_base.

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 175 of file iomanip.

References std::_Setfill< _CharT >::_M_c.

_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 98 of file iomanip.

References std::_Setiosflags::_M_mask.

_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 209 of file iomanip.

References std::_Setprecision::_M_n.

_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 243 of file iomanip.

References std::_Setw::_M_n.

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

Calls base.setf(ios_base::showbase).

Definition at line 808 of file ios_base.h.

References std::ios_base::setf().

Referenced by noshowbase().

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

Calls base.setf(ios_base::showpoint).

Definition at line 824 of file ios_base.h.

References std::ios_base::setf().

Referenced by noshowpoint().

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

Calls base.setf(ios_base::showpos).

Definition at line 840 of file ios_base.h.

References std::ios_base::setf().

Referenced by noshowpos().

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

Calls base.setf(ios_base::skipws).

Definition at line 856 of file ios_base.h.

References std::ios_base::setf().

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

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

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

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

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

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 476 of file stl_heap.h.

References __glibcxx_function_requires, __glibcxx_requires_heap_pred, 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 450 of file stl_heap.h.

References __glibcxx_function_requires, __glibcxx_requires_heap, and __glibcxx_requires_valid_range.

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 1516 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 _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 5007 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::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 4966 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 _Tp, typename _Alloc>
void std::swap ( vector< _Tp, _Alloc > &  __x,
vector< _Tp, _Alloc > &  __y 
) [inline]

See std::vector::swap().

Definition at line 1157 of file stl_vector.h.

References std::vector< _Tp, _Alloc >::swap().

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

See std::set::swap().

Definition at line 647 of file stl_set.h.

References std::set< _Key, _Compare, _Alloc >::swap().

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

See std::multiset::swap().

Definition at line 634 of file stl_multiset.h.

References std::multiset< _Key, _Compare, _Alloc >::swap().

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

See std::multimap::swap().

Definition at line 736 of file stl_multimap.h.

References std::multimap< _Key, _Tp, _Compare, _Alloc >::swap().

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

See std::map::swap().

Definition at line 807 of file stl_map.h.

References std::map< _Key, _Tp, _Compare, _Alloc >::swap().

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

See std::list::swap().

Definition at line 1446 of file stl_list.h.

References std::list< _Tp, _Alloc >::swap().

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

See std::deque::swap().

Definition at line 1753 of file stl_deque.h.

References std::deque< _Tp, _Alloc >::swap().

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

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

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.

Definition at line 80 of file stl_move.h.

References __glibcxx_function_requires, and _GLIBCXX_MOVE.

template<typename _Signature>
void std::swap ( function< _Signature > &  __x,
function< _Signature > &  __y 
) [inline]

Swap the targets of two polymorphic function object wrappers.

This function will not throw an exception.

Definition at line 2120 of file tr1_impl/functional.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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.

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

Convenience interface to ctype.tolower(__c).

Definition at line 2629 of file locale_facets.h.

Referenced by std::regex_traits< _Ch_type >::translate_nocase().

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

Convenience interface to ctype.toupper(__c).

Definition at line 2623 of file locale_facets.h.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

References __glibcxx_function_requires, and __glibcxx_requires_valid_range.

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

void std::unexpected (  ) 

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

template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator 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 112 of file stl_uninitialized.h.

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

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.

Referenced by __uninitialized_fill_a().

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 223 of file stl_uninitialized.h.

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

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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

References __glibcxx_function_requires, __glibcxx_requires_valid_range, and _GLIBCXX_MOVE.

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require CopyConstructible and Assignable?

Definition at line 4499 of file stl_algo.h.

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

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.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require CopyConstructible and Assignable?

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 538. 241 again: Does unique_copy() require CopyConstructible and Assignable?

Definition at line 4460 of file stl_algo.h.

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

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

Calls base.setf(ios_base::unitbuf).

Definition at line 888 of file ios_base.h.

References std::ios_base::setf().

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

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

Calls base.setf(ios_base::uppercase).

Definition at line 872 of file ios_base.h.

References std::ios_base::setf().

Referenced by nouppercase().

template<typename _Facet>
const _Facet & std::use_facet ( const locale &  __loc  ) 

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

References std::locale::_M_impl.

Referenced by std::regex_traits< _Ch_type >::isctype(), std::regex_traits< _Ch_type >::transform(), and std::regex_traits< _Ch_type >::translate_nocase().

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 951 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 std::ctype_base::space.


Variable Documentation

class std::auto_ptr std::_GLIBCXX_DEPRECATED_ATTR

A simple smart pointer providing strict ownership semantics.

The Standard says:

  An auto_ptr owns the object it holds a pointer to.  Copying
  an auto_ptr copies the pointer and transfers ownership to the
  destination.  If more than one auto_ptr owns the same object
  at the same time the behavior of the program is undefined.

  The uses of auto_ptr include providing temporary
  exception-safety for dynamically allocated memory, passing
  ownership of dynamically allocated memory to a function, and
  returning dynamically allocated memory from a function.  auto_ptr does not meet the CopyConstructible and Assignable
  requirements for Standard Library container elements and thus
  instantiating a Standard Library container with an auto_ptr results in undefined behavior.
  
Quoted from [20.4.5]/3.

Good examples of what can and cannot be done with auto_ptr can be found in the libstdc++ testsuite.

_GLIBCXX_RESOLVE_LIB_DEFECTS 127. auto_ptr<> conversion issues These resolutions have all been incorporated.

struct std::auto_ptr_ref std::_GLIBCXX_DEPRECATED_ATTR

A wrapper class to provide auto_ptr with reference semantics. For example, an auto_ptr can be assigned (or constructed from) the result of a function which returns an auto_ptr by value.

All the auto_ptr_ref stuff should happen behind the scenes.

ostream std::cerr

Linked to standard error (unbuffered).

istream std::cin

Linked to standard input.

ostream std::clog

Linked to standard error (buffered).

ostream std::cout

Linked to standard output.

wostream std::wcerr

Linked to standard error (unbuffered).

wistream std::wcin

Linked to standard input.

wostream std::wclog

Linked to standard error (buffered).

wostream std::wcout

Linked to standard output.


Generated on Wed Mar 26 00:44:17 2008 for libstdc++ by  doxygen 1.5.1