/home/ntakagi/work/STLport-5.1.5/stlport/stl/_algo.h File Reference

#include <stl/_algobase.h>
#include <stl/_heap.h>
#include <stl/_iterator.h>
#include <stl/_function_base.h>
#include <stl/_algo.c>

Go to the source code of this file.

Classes

struct  __less_2< _T1, _T2 >

Functions

template<class _InputIter, class _Function>
_STLP_BEGIN_NAMESPACE _STLP_INLINE_LOOP
_Function 
for_each (_InputIter __first, _InputIter __last, _Function __f)
template<class _InputIter, class _Predicate>
_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE (_InputIter) count_if(_InputIter __first
_BinaryPredicate _STLP_INLINE_LOOP
_ForwardIter 
adjacent_find (_ForwardIter __first, _ForwardIter __last, _BinaryPredicate __binary_pred)
template<class _ForwardIter>
_STLP_INLINE_LOOP _ForwardIter adjacent_find (_ForwardIter __first, _ForwardIter __last)
template<class _InputIter, class _Tp, class _Size>
_STLP_INLINE_LOOP void count (_InputIter __first, _InputIter __last, const _Tp &__val, _Size &__n)
template<class _InputIter, class _Predicate, class _Size>
_STLP_INLINE_LOOP void count_if (_InputIter __first, _InputIter __last, _Predicate __pred, _Size &__n)
template<class _ForwardIter1, class _ForwardIter2>
_ForwardIter1 search (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2, _ForwardIter2 __last2)
template<class _ForwardIter, class _Integer, class _Tp>
_ForwardIter search_n (_ForwardIter __first, _ForwardIter __last, _Integer __count, const _Tp &__val)
template<class _ForwardIter, class _Integer, class _Tp, class _BinaryPred>
_ForwardIter search_n (_ForwardIter __first, _ForwardIter __last, _Integer __count, const _Tp &__val, _BinaryPred __binary_pred)
template<class _InputIter, class _ForwardIter>
_InputIter find_first_of (_InputIter __first1, _InputIter __last1, _ForwardIter __first2, _ForwardIter __last2)
template<class _InputIter, class _ForwardIter, class _BinaryPredicate>
_InputIter find_first_of (_InputIter __first1, _InputIter __last1, _ForwardIter __first2, _ForwardIter __last2, _BinaryPredicate __comp)
template<class _ForwardIter1, class _ForwardIter2>
_ForwardIter1 find_end (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2, _ForwardIter2 __last2)
template<class _ForwardIter1, class _ForwardIter2>
_STLP_INLINE_LOOP _ForwardIter2 swap_ranges (_ForwardIter1 __first1, _ForwardIter1 __last1, _ForwardIter2 __first2)
template<class _InputIter, class _OutputIter, class _UnaryOperation>
_STLP_INLINE_LOOP _OutputIter transform (_InputIter __first, _InputIter __last, _OutputIter __result, _UnaryOperation __opr)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _BinaryOperation>
_STLP_INLINE_LOOP _OutputIter transform (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _OutputIter __result, _BinaryOperation __binary_op)
template<class _ForwardIter, class _Predicate, class _Tp>
_STLP_INLINE_LOOP void replace_if (_ForwardIter __first, _ForwardIter __last, _Predicate __pred, const _Tp &__new_value)
template<class _InputIter, class _OutputIter, class _Tp>
_STLP_INLINE_LOOP _OutputIter replace_copy (_InputIter __first, _InputIter __last, _OutputIter __result, const _Tp &__old_value, const _Tp &__new_value)
template<class _Iterator, class _OutputIter, class _Predicate, class _Tp>
_STLP_INLINE_LOOP _OutputIter replace_copy_if (_Iterator __first, _Iterator __last, _OutputIter __result, _Predicate __pred, const _Tp &__new_value)
template<class _ForwardIter, class _Generator>
_STLP_INLINE_LOOP void generate (_ForwardIter __first, _ForwardIter __last, _Generator __gen)
template<class _OutputIter, class _Size, class _Generator>
_STLP_INLINE_LOOP void generate_n (_OutputIter __first, _Size __n, _Generator __gen)
template<class _InputIter, class _OutputIter, class _Tp>
_STLP_INLINE_LOOP _OutputIter remove_copy (_InputIter __first, _InputIter __last, _OutputIter __result, const _Tp &__val)
template<class _InputIter, class _OutputIter, class _Predicate>
_STLP_INLINE_LOOP _OutputIter remove_copy_if (_InputIter __first, _InputIter __last, _OutputIter __result, _Predicate __pred)
template<class _ForwardIter, class _Tp>
_STLP_INLINE_LOOP _ForwardIter remove (_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
template<class _ForwardIter, class _Predicate>
_STLP_INLINE_LOOP _ForwardIter remove_if (_ForwardIter __first, _ForwardIter __last, _Predicate __pred)
template<class _InputIter, class _OutputIter>
_OutputIter unique_copy (_InputIter __first, _InputIter __last, _OutputIter __result)
template<class _InputIter, class _OutputIter, class _BinaryPredicate>
_OutputIter unique_copy (_InputIter __first, _InputIter __last, _OutputIter __result, _BinaryPredicate __binary_pred)
template<class _ForwardIter>
_ForwardIter unique (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter, class _BinaryPredicate>
_ForwardIter unique (_ForwardIter __first, _ForwardIter __last, _BinaryPredicate __binary_pred)
template<class _BidirectionalIter>
_STLP_INLINE_LOOP void __reverse (_BidirectionalIter __first, _BidirectionalIter __last, const bidirectional_iterator_tag &)
template<class _RandomAccessIter>
_STLP_INLINE_LOOP void __reverse (_RandomAccessIter __first, _RandomAccessIter __last, const random_access_iterator_tag &)
template<class _BidirectionalIter>
void reverse (_BidirectionalIter __first, _BidirectionalIter __last)
template<class _BidirectionalIter, class _OutputIter>
_STLP_INLINE_LOOP _OutputIter reverse_copy (_BidirectionalIter __first, _BidirectionalIter __last, _OutputIter __result)
template<class _EuclideanRingElement>
_STLP_MOVE_TO_PRIV_NAMESPACE
_STLP_INLINE_LOOP _EuclideanRingElement 
__gcd (_EuclideanRingElement __m, _EuclideanRingElement __n)
template<class _ForwardIter>
_STLP_MOVE_TO_STD_NAMESPACE
void 
rotate (_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last)
template<class _ForwardIter, class _OutputIter>
_OutputIter rotate_copy (_ForwardIter __first, _ForwardIter __middle, _ForwardIter __last, _OutputIter __result)
template<class _RandomAccessIter>
void random_shuffle (_RandomAccessIter __first, _RandomAccessIter __last)
template<class _RandomAccessIter, class _RandomNumberGenerator>
void random_shuffle (_RandomAccessIter __first, _RandomAccessIter __last, _RandomNumberGenerator &__rand)
template<class _ForwardIter, class _OutputIter, class _Distance>
_OutputIter random_sample_n (_ForwardIter __first, _ForwardIter __last, _OutputIter __out_ite, const _Distance __n)
template<class _ForwardIter, class _OutputIter, class _Distance, class _RandomNumberGenerator>
_OutputIter random_sample_n (_ForwardIter __first, _ForwardIter __last, _OutputIter __out_ite, const _Distance __n, _RandomNumberGenerator &__rand)
template<class _InputIter, class _RandomAccessIter>
_RandomAccessIter random_sample (_InputIter __first, _InputIter __last, _RandomAccessIter __out_first, _RandomAccessIter __out_last)
template<class _InputIter, class _RandomAccessIter, class _RandomNumberGenerator>
_RandomAccessIter random_sample (_InputIter __first, _InputIter __last, _RandomAccessIter __out_first, _RandomAccessIter __out_last, _RandomNumberGenerator &__rand)
template<class _ForwardIter, class _Predicate>
_ForwardIter partition (_ForwardIter __first, _ForwardIter __last, _Predicate __pred)
template<class _ForwardIter, class _Predicate>
_ForwardIter stable_partition (_ForwardIter __first, _ForwardIter __last, _Predicate __pred)
template<class _Size>
_STLP_MOVE_TO_PRIV_NAMESPACE
_Size 
__lg (_Size __n)
template<class _RandomAccessIter>
_STLP_MOVE_TO_STD_NAMESPACE
void 
sort (_RandomAccessIter __first, _RandomAccessIter __last)
template<class _RandomAccessIter, class _Compare>
void sort (_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp)
template<class _RandomAccessIter>
void stable_sort (_RandomAccessIter __first, _RandomAccessIter __last)
template<class _RandomAccessIter, class _Compare>
void stable_sort (_RandomAccessIter __first, _RandomAccessIter __last, _Compare __comp)
template<class _RandomAccessIter>
void partial_sort (_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last)
template<class _RandomAccessIter, class _Compare>
void partial_sort (_RandomAccessIter __first, _RandomAccessIter __middle, _RandomAccessIter __last, _Compare __comp)
template<class _InputIter, class _RandomAccessIter>
_RandomAccessIter partial_sort_copy (_InputIter __first, _InputIter __last, _RandomAccessIter __result_first, _RandomAccessIter __result_last)
template<class _InputIter, class _RandomAccessIter, class _Compare>
_RandomAccessIter partial_sort_copy (_InputIter __first, _InputIter __last, _RandomAccessIter __result_first, _RandomAccessIter __result_last, _Compare __comp)
template<class _RandomAccessIter>
void nth_element (_RandomAccessIter __first, _RandomAccessIter __nth, _RandomAccessIter __last)
template<class _RandomAccessIter, class _Compare>
void nth_element (_RandomAccessIter __first, _RandomAccessIter __nth, _RandomAccessIter __last, _Compare __comp)
template<class _T1, class _T2>
__less_2< _T1, _T2 > __less2 (_T1 *, _T2 *)
template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE
_ForwardIter 
lower_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
template<class _ForwardIter, class _Tp, class _Compare>
_ForwardIter lower_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp)
template<class _ForwardIter, class _Tp, class _Compare1, class _Compare2, class _Distance>
_STLP_MOVE_TO_PRIV_NAMESPACE
_ForwardIter 
__upper_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare1 __comp1, _Compare2 __comp2, _Distance *)
template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE
_ForwardIter 
upper_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
template<class _ForwardIter, class _Tp, class _Compare>
_ForwardIter upper_bound (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp)
template<class _ForwardIter, class _Tp, class _Compare1, class _Compare2, class _Distance>
_STLP_MOVE_TO_PRIV_NAMESPACE
pair< _ForwardIter, _ForwardIter > 
__equal_range (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare1 __comp1, _Compare2 __comp2, _Distance *)
template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE
pair< _ForwardIter, _ForwardIter > 
equal_range (_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
template<class _ForwardIter, class _Tp, class _Compare>
pair< _ForwardIter, _ForwardIter > equal_range (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp)
template<class _ForwardIter, class _Tp>
bool binary_search (_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
template<class _ForwardIter, class _Tp, class _Compare>
bool binary_search (_ForwardIter __first, _ForwardIter __last, const _Tp &__val, _Compare __comp)
template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter merge (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter merge (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp)
template<class _BidirectionalIter>
void inplace_merge (_BidirectionalIter __first, _BidirectionalIter __middle, _BidirectionalIter __last)
template<class _BidirectionalIter, class _Compare>
void inplace_merge (_BidirectionalIter __first, _BidirectionalIter __middle, _BidirectionalIter __last, _Compare __comp)
template<class _InputIter1, class _InputIter2>
bool includes (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2)
template<class _InputIter1, class _InputIter2, class _Compare>
bool includes (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _Compare __comp)
template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_union (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_union (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp)
template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_intersection (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_intersection (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp)
template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_difference (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_difference (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp)
template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_symmetric_difference (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_symmetric_difference (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result, _Compare __comp)
template<class _ForwardIter>
_ForwardIter max_element (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter, class _Compare>
_ForwardIter max_element (_ForwardIter __first, _ForwardIter __last, _Compare __comp)
template<class _ForwardIter>
_ForwardIter min_element (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter, class _Compare>
_ForwardIter min_element (_ForwardIter __first, _ForwardIter __last, _Compare __comp)
template<class _BidirectionalIter>
bool next_permutation (_BidirectionalIter __first, _BidirectionalIter __last)
template<class _BidirectionalIter, class _Compare>
bool next_permutation (_BidirectionalIter __first, _BidirectionalIter __last, _Compare __comp)
template<class _BidirectionalIter>
bool prev_permutation (_BidirectionalIter __first, _BidirectionalIter __last)
template<class _BidirectionalIter, class _Compare>
bool prev_permutation (_BidirectionalIter __first, _BidirectionalIter __last, _Compare __comp)
template<class _RandomAccessIter>
bool is_heap (_RandomAccessIter __first, _RandomAccessIter __last)
template<class _RandomAccessIter, class _StrictWeakOrdering>
bool is_heap (_RandomAccessIter __first, _RandomAccessIter __last, _StrictWeakOrdering __comp)
template<class _ForwardIter, class _StrictWeakOrdering>
_STLP_MOVE_TO_PRIV_NAMESPACE
bool 
__is_sorted (_ForwardIter __first, _ForwardIter __last, _StrictWeakOrdering __comp)
template<class _ForwardIter>
_STLP_MOVE_TO_STD_NAMESPACE
bool 
is_sorted (_ForwardIter __first, _ForwardIter __last)
template<class _ForwardIter, class _StrictWeakOrdering>
bool is_sorted (_ForwardIter __first, _ForwardIter __last, _StrictWeakOrdering __comp)

Variables

_STLP_INLINE_LOOP _InputIter __last


Function Documentation

template<class _ForwardIter, class _Tp, class _Compare1, class _Compare2, class _Distance>
_STLP_MOVE_TO_PRIV_NAMESPACE pair<_ForwardIter, _ForwardIter> __equal_range ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare1  __comp1,
_Compare2  __comp2,
_Distance *   
)

Definition at line 1369 of file _algo.c.

References __lower_bound(), __upper_bound(), _STLP_VERBOSE_ASSERT, advance(), and distance().

Referenced by equal_range().

template<class _EuclideanRingElement>
_STLP_MOVE_TO_PRIV_NAMESPACE _STLP_INLINE_LOOP _EuclideanRingElement __gcd ( _EuclideanRingElement  __m,
_EuclideanRingElement  __n 
)

Definition at line 354 of file _algo.h.

Referenced by __rotate_aux().

template<class _ForwardIter, class _StrictWeakOrdering>
_STLP_MOVE_TO_PRIV_NAMESPACE bool __is_sorted ( _ForwardIter  __first,
_ForwardIter  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 1985 of file _algo.c.

References _STLP_DEBUG_CHECK, and _STLP_VERBOSE_ASSERT.

Referenced by is_sorted().

template<class _T1, class _T2>
__less_2<_T1,_T2> __less2 ( _T1 *  ,
_T2 *   
)

Definition at line 485 of file _algo.h.

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

template<class _Size>
_STLP_MOVE_TO_PRIV_NAMESPACE _Size __lg ( _Size  __n  )  [inline]

Definition at line 424 of file _algo.h.

Referenced by sort().

template<class _RandomAccessIter>
_STLP_INLINE_LOOP void __reverse ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
const random_access_iterator_tag  
)

Definition at line 323 of file _algo.h.

References iter_swap().

template<class _BidirectionalIter>
_STLP_INLINE_LOOP void __reverse ( _BidirectionalIter  __first,
_BidirectionalIter  __last,
const bidirectional_iterator_tag  
)

Definition at line 315 of file _algo.h.

References iter_swap().

Referenced by __rotate_aux(), and reverse().

template<class _ForwardIter, class _Tp, class _Compare1, class _Compare2, class _Distance>
_STLP_MOVE_TO_PRIV_NAMESPACE _ForwardIter __upper_bound ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare1  __comp1,
_Compare2  __comp2,
_Distance *   
)

Definition at line 1344 of file _algo.c.

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

Referenced by __equal_range(), and upper_bound().

template<class _InputIter, class _Predicate>
_STLP_INLINE_LOOP _STLP_DIFFERENCE_TYPE ( _InputIter   ) 

template<class _ForwardIter>
_STLP_INLINE_LOOP _ForwardIter adjacent_find ( _ForwardIter  __first,
_ForwardIter  __last 
)

Definition at line 98 of file _algo.h.

References __equal_to(), _STLP_PRIV, _STLP_VALUE_TYPE, and adjacent_find().

class _BinaryPredicate _STLP_INLINE_LOOP _ForwardIter adjacent_find ( _ForwardIter  __first,
_ForwardIter  __last,
_BinaryPredicate  __binary_pred 
)

Definition at line 82 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

Referenced by adjacent_find(), and unique().

template<class _ForwardIter, class _Tp, class _Compare>
bool binary_search ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare  __comp 
) [inline]

Definition at line 579 of file _algo.h.

References __lower_bound(), _STLP_DEBUG_CHECK, _STLP_DISTANCE_TYPE, and _STLP_PRIV.

template<class _ForwardIter, class _Tp>
bool binary_search ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val 
) [inline]

template<class _InputIter, class _Tp, class _Size>
_STLP_INLINE_LOOP void count ( _InputIter  __first,
_InputIter  __last,
const _Tp &  __val,
_Size &  __n 
)

Definition at line 106 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

Referenced by _Locale_mbtowc(), and _Filebuf_base::_M_get_offset().

template<class _InputIter, class _Predicate, class _Size>
_STLP_INLINE_LOOP void count_if ( _InputIter  __first,
_InputIter  __last,
_Predicate  __pred,
_Size &  __n 
)

Definition at line 115 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _ForwardIter, class _Tp, class _Compare>
pair<_ForwardIter, _ForwardIter> equal_range ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare  __comp 
) [inline]

Definition at line 560 of file _algo.h.

References __equal_range(), _STLP_DEBUG_CHECK, _STLP_DISTANCE_TYPE, and _STLP_PRIV.

template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE pair<_ForwardIter, _ForwardIter> equal_range ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val 
) [inline]

template<class _ForwardIter1, class _ForwardIter2>
_ForwardIter1 find_end ( _ForwardIter1  __first1,
_ForwardIter1  __last1,
_ForwardIter2  __first2,
_ForwardIter2  __last2 
)

template<class _InputIter, class _ForwardIter, class _BinaryPredicate>
_InputIter find_first_of ( _InputIter  __first1,
_InputIter  __last1,
_ForwardIter  __first2,
_ForwardIter  __last2,
_BinaryPredicate  __comp 
) [inline]

Definition at line 146 of file _algo.h.

References __find_first_of(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _InputIter, class _ForwardIter>
_InputIter find_first_of ( _InputIter  __first1,
_InputIter  __last1,
_ForwardIter  __first2,
_ForwardIter  __last2 
) [inline]

Definition at line 136 of file _algo.h.

References __equal_to(), __find_first_of(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter, class _Function>
_STLP_BEGIN_NAMESPACE _STLP_INLINE_LOOP _Function for_each ( _InputIter  __first,
_InputIter  __last,
_Function  __f 
)

Definition at line 59 of file _algo.h.

Referenced by _Locale_impl::_Locale_impl().

template<class _ForwardIter, class _Generator>
_STLP_INLINE_LOOP void generate ( _ForwardIter  __first,
_ForwardIter  __last,
_Generator  __gen 
)

Definition at line 223 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _OutputIter, class _Size, class _Generator>
_STLP_INLINE_LOOP void generate_n ( _OutputIter  __first,
_Size  __n,
_Generator  __gen 
)

Definition at line 231 of file _algo.h.

template<class _InputIter1, class _InputIter2, class _Compare>
bool includes ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_Compare  __comp 
)

Definition at line 1589 of file _algo.c.

References __includes(), and _STLP_PRIV.

template<class _InputIter1, class _InputIter2>
bool includes ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2 
)

Definition at line 1595 of file _algo.c.

References __includes(), __less(), _STLP_PRIV, and _STLP_VALUE_TYPE.

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

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

template<class _RandomAccessIter, class _StrictWeakOrdering>
bool is_heap ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_StrictWeakOrdering  __comp 
)

Definition at line 1975 of file _algo.c.

References __is_heap(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _RandomAccessIter>
bool is_heap ( _RandomAccessIter  __first,
_RandomAccessIter  __last 
)

Definition at line 1969 of file _algo.c.

References __is_heap(), __less(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _ForwardIter, class _StrictWeakOrdering>
bool is_sorted ( _ForwardIter  __first,
_ForwardIter  __last,
_StrictWeakOrdering  __comp 
) [inline]

Definition at line 743 of file _algo.h.

References __is_sorted(), and _STLP_PRIV.

template<class _ForwardIter>
_STLP_MOVE_TO_STD_NAMESPACE bool is_sorted ( _ForwardIter  __first,
_ForwardIter  __last 
) [inline]

Definition at line 737 of file _algo.h.

References __is_sorted(), __less(), _STLP_PRIV, and _STLP_VALUE_TYPE.

Referenced by slist< _Tp, _Alloc >::merge(), and list< _Tp, _Alloc >::merge().

template<class _ForwardIter, class _Tp, class _Compare>
_ForwardIter lower_bound ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare  __comp 
) [inline]

Definition at line 506 of file _algo.h.

References __lower_bound(), _STLP_DEBUG_CHECK, _STLP_DISTANCE_TYPE, and _STLP_PRIV.

template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter lower_bound ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val 
) [inline]

template<class _ForwardIter, class _Compare>
_ForwardIter max_element ( _ForwardIter  __first,
_ForwardIter  __last,
_Compare  __comp 
)

Definition at line 1799 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VERBOSE_ASSERT.

template<class _ForwardIter>
_ForwardIter max_element ( _ForwardIter  __first,
_ForwardIter  __last 
)

Definition at line 1788 of file _algo.c.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter merge ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result,
_Compare  __comp 
)

Definition at line 1428 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, _STLP_VERBOSE_ASSERT, and copy().

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

Definition at line 1407 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and copy().

template<class _ForwardIter, class _Compare>
_ForwardIter min_element ( _ForwardIter  __first,
_ForwardIter  __last,
_Compare  __comp 
)

Definition at line 1825 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VERBOSE_ASSERT.

template<class _ForwardIter>
_ForwardIter min_element ( _ForwardIter  __first,
_ForwardIter  __last 
)

Definition at line 1814 of file _algo.c.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _BidirectionalIter, class _Compare>
bool next_permutation ( _BidirectionalIter  __first,
_BidirectionalIter  __last,
_Compare  __comp 
)

Definition at line 1887 of file _algo.c.

References __next_permutation(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _BidirectionalIter>
bool next_permutation ( _BidirectionalIter  __first,
_BidirectionalIter  __last 
)

Definition at line 1880 of file _algo.c.

References __less(), __next_permutation(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _RandomAccessIter, class _Compare>
void nth_element ( _RandomAccessIter  __first,
_RandomAccessIter  __nth,
_RandomAccessIter  __last,
_Compare  __comp 
)

Definition at line 1332 of file _algo.c.

References __nth_element(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

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

Definition at line 1323 of file _algo.c.

References __less(), __nth_element(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _RandomAccessIter, class _Compare>
void partial_sort ( _RandomAccessIter  __first,
_RandomAccessIter  __middle,
_RandomAccessIter  __last,
_Compare  __comp 
)

Definition at line 1233 of file _algo.c.

References __partial_sort(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

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

Definition at line 1224 of file _algo.c.

References __less(), __partial_sort(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter, class _RandomAccessIter, class _Compare>
_RandomAccessIter partial_sort_copy ( _InputIter  __first,
_InputIter  __last,
_RandomAccessIter  __result_first,
_RandomAccessIter  __result_last,
_Compare  __comp 
)

template<class _InputIter, class _RandomAccessIter>
_RandomAccessIter partial_sort_copy ( _InputIter  __first,
_InputIter  __last,
_RandomAccessIter  __result_first,
_RandomAccessIter  __result_last 
)

template<class _ForwardIter, class _Predicate>
_ForwardIter partition ( _ForwardIter  __first,
_ForwardIter  __last,
_Predicate  __pred 
)

Definition at line 724 of file _algo.c.

References __partition(), _STLP_DEBUG_CHECK, _STLP_ITERATOR_CATEGORY, and _STLP_PRIV.

template<class _BidirectionalIter, class _Compare>
bool prev_permutation ( _BidirectionalIter  __first,
_BidirectionalIter  __last,
_Compare  __comp 
)

Definition at line 1938 of file _algo.c.

References __prev_permutation(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _BidirectionalIter>
bool prev_permutation ( _BidirectionalIter  __first,
_BidirectionalIter  __last 
)

Definition at line 1931 of file _algo.c.

References __less(), __prev_permutation(), _STLP_DEBUG_CHECK, _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter, class _RandomAccessIter, class _RandomNumberGenerator>
_RandomAccessIter random_sample ( _InputIter  __first,
_InputIter  __last,
_RandomAccessIter  __out_first,
_RandomAccessIter  __out_last,
_RandomNumberGenerator &  __rand 
)

Definition at line 646 of file _algo.c.

References __random_sample(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _InputIter, class _RandomAccessIter>
_RandomAccessIter random_sample ( _InputIter  __first,
_InputIter  __last,
_RandomAccessIter  __out_first,
_RandomAccessIter  __out_last 
)

Definition at line 636 of file _algo.c.

References __random_sample(), _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _ForwardIter, class _OutputIter, class _Distance, class _RandomNumberGenerator>
_OutputIter random_sample_n ( _ForwardIter  __first,
_ForwardIter  __last,
_OutputIter  __out_ite,
const _Distance  __n,
_RandomNumberGenerator &  __rand 
)

Definition at line 568 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, distance(), and min().

template<class _ForwardIter, class _OutputIter, class _Distance>
_OutputIter random_sample_n ( _ForwardIter  __first,
_ForwardIter  __last,
_OutputIter  __out_ite,
const _Distance  __n 
)

Definition at line 546 of file _algo.c.

References __random_number(), _STLP_DEBUG_CHECK, _STLP_PRIV, distance(), and min().

template<class _RandomAccessIter, class _RandomNumberGenerator>
void random_shuffle ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_RandomNumberGenerator &  __rand 
)

Definition at line 535 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and iter_swap().

template<class _RandomAccessIter>
void random_shuffle ( _RandomAccessIter  __first,
_RandomAccessIter  __last 
)

Definition at line 526 of file _algo.c.

References __random_number(), _STLP_DEBUG_CHECK, _STLP_PRIV, and iter_swap().

template<class _ForwardIter, class _Tp>
_STLP_INLINE_LOOP _ForwardIter remove ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val 
)

Definition at line 266 of file _algo.h.

References _STLP_DEBUG_CHECK, _STLP_PRIV, find(), and remove_copy().

template<class _InputIter, class _OutputIter, class _Tp>
_STLP_INLINE_LOOP _OutputIter remove_copy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const _Tp &  __val 
)

Definition at line 240 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

Referenced by remove().

template<class _InputIter, class _OutputIter, class _Predicate>
_STLP_INLINE_LOOP _OutputIter remove_copy_if ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
_Predicate  __pred 
)

Definition at line 253 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

Referenced by remove_if().

template<class _ForwardIter, class _Predicate>
_STLP_INLINE_LOOP _ForwardIter remove_if ( _ForwardIter  __first,
_ForwardIter  __last,
_Predicate  __pred 
)

Definition at line 279 of file _algo.h.

References _STLP_DEBUG_CHECK, _STLP_PRIV, find_if(), and remove_copy_if().

template<class _InputIter, class _OutputIter, class _Tp>
_STLP_INLINE_LOOP _OutputIter replace_copy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
const _Tp &  __old_value,
const _Tp &  __new_value 
)

Definition at line 200 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _Iterator, class _OutputIter, class _Predicate, class _Tp>
_STLP_INLINE_LOOP _OutputIter replace_copy_if ( _Iterator  __first,
_Iterator  __last,
_OutputIter  __result,
_Predicate  __pred,
const _Tp &  __new_value 
)

Definition at line 210 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _ForwardIter, class _Predicate, class _Tp>
_STLP_INLINE_LOOP void replace_if ( _ForwardIter  __first,
_ForwardIter  __last,
_Predicate  __pred,
const _Tp &  __new_value 
)

Definition at line 191 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _BidirectionalIter>
void reverse ( _BidirectionalIter  __first,
_BidirectionalIter  __last 
) [inline]

Definition at line 330 of file _algo.h.

References __reverse(), _STLP_DEBUG_CHECK, _STLP_ITERATOR_CATEGORY, and _STLP_PRIV.

Referenced by __next_permutation(), and __prev_permutation().

template<class _BidirectionalIter, class _OutputIter>
_STLP_INLINE_LOOP _OutputIter reverse_copy ( _BidirectionalIter  __first,
_BidirectionalIter  __last,
_OutputIter  __result 
)

Definition at line 337 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _ForwardIter>
_STLP_MOVE_TO_STD_NAMESPACE void rotate ( _ForwardIter  __first,
_ForwardIter  __middle,
_ForwardIter  __last 
)

Definition at line 505 of file _algo.c.

References __rotate(), and _STLP_PRIV.

template<class _ForwardIter, class _OutputIter>
_OutputIter rotate_copy ( _ForwardIter  __first,
_ForwardIter  __middle,
_ForwardIter  __last,
_OutputIter  __result 
) [inline]

Definition at line 370 of file _algo.h.

References copy().

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

Definition at line 112 of file _algo.c.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and find().

template<class _ForwardIter, class _Integer, class _Tp, class _BinaryPred>
_ForwardIter search_n ( _ForwardIter  __first,
_ForwardIter  __last,
_Integer  __count,
const _Tp &  __val,
_BinaryPred  __binary_pred 
)

template<class _ForwardIter, class _Integer, class _Tp>
_ForwardIter search_n ( _ForwardIter  __first,
_ForwardIter  __last,
_Integer  __count,
const _Tp &  __val 
)

template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_difference ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result,
_Compare  __comp 
)

Definition at line 1729 of file _algo.c.

References __set_difference(), and _STLP_PRIV.

template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_difference ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result 
)

Definition at line 1720 of file _algo.c.

References __less(), __set_difference(), _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_intersection ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result,
_Compare  __comp 
)

Definition at line 1686 of file _algo.c.

References __set_intersection(), and _STLP_PRIV.

template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_intersection ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result 
)

Definition at line 1677 of file _algo.c.

References __less(), __set_intersection(), _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_symmetric_difference ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result,
_Compare  __comp 
)

Definition at line 1777 of file _algo.c.

References __set_symmetric_difference(), and _STLP_PRIV.

template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_symmetric_difference ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result 
)

Definition at line 1768 of file _algo.c.

References __less(), __set_symmetric_difference(), _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _InputIter1, class _InputIter2, class _OutputIter, class _Compare>
_OutputIter set_union ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result,
_Compare  __comp 
)

Definition at line 1643 of file _algo.c.

References __set_union(), and _STLP_PRIV.

template<class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_union ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_InputIter2  __last2,
_OutputIter  __result 
)

Definition at line 1634 of file _algo.c.

References __less(), __set_union(), _STLP_PRIV, and _STLP_VALUE_TYPE.

template<class _RandomAccessIter, class _Compare>
void sort ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_Compare  __comp 
)

template<class _RandomAccessIter>
_STLP_MOVE_TO_STD_NAMESPACE void sort ( _RandomAccessIter  __first,
_RandomAccessIter  __last 
)

template<class _ForwardIter, class _Predicate>
_ForwardIter stable_partition ( _ForwardIter  __first,
_ForwardIter  __last,
_Predicate  __pred 
)

template<class _RandomAccessIter, class _Compare>
void stable_sort ( _RandomAccessIter  __first,
_RandomAccessIter  __last,
_Compare  __comp 
)

template<class _RandomAccessIter>
void stable_sort ( _RandomAccessIter  __first,
_RandomAccessIter  __last 
)

template<class _ForwardIter1, class _ForwardIter2>
_STLP_INLINE_LOOP _ForwardIter2 swap_ranges ( _ForwardIter1  __first1,
_ForwardIter1  __last1,
_ForwardIter2  __first2 
)

Definition at line 161 of file _algo.h.

References _STLP_DEBUG_CHECK, _STLP_PRIV, and iter_swap().

Referenced by __rotate_aux().

template<class _InputIter1, class _InputIter2, class _OutputIter, class _BinaryOperation>
_STLP_INLINE_LOOP _OutputIter transform ( _InputIter1  __first1,
_InputIter1  __last1,
_InputIter2  __first2,
_OutputIter  __result,
_BinaryOperation  __binary_op 
)

Definition at line 179 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

template<class _InputIter, class _OutputIter, class _UnaryOperation>
_STLP_INLINE_LOOP _OutputIter transform ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
_UnaryOperation  __opr 
)

Definition at line 171 of file _algo.h.

References _STLP_DEBUG_CHECK, and _STLP_PRIV.

Referenced by valarray< _Size >::apply().

template<class _ForwardIter, class _BinaryPredicate>
_ForwardIter unique ( _ForwardIter  __first,
_ForwardIter  __last,
_BinaryPredicate  __binary_pred 
) [inline]

Definition at line 305 of file _algo.h.

References adjacent_find(), and unique_copy().

template<class _ForwardIter>
_ForwardIter unique ( _ForwardIter  __first,
_ForwardIter  __last 
) [inline]

Definition at line 299 of file _algo.h.

References adjacent_find(), and unique_copy().

template<class _InputIter, class _OutputIter, class _BinaryPredicate>
_OutputIter unique_copy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result,
_BinaryPredicate  __binary_pred 
)

Definition at line 357 of file _algo.c.

References __unique_copy(), _STLP_DEBUG_CHECK, _STLP_ITERATOR_CATEGORY, and _STLP_PRIV.

template<class _InputIter, class _OutputIter>
_OutputIter unique_copy ( _InputIter  __first,
_InputIter  __last,
_OutputIter  __result 
)

template<class _ForwardIter, class _Tp, class _Compare>
_ForwardIter upper_bound ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val,
_Compare  __comp 
) [inline]

Definition at line 532 of file _algo.h.

References __upper_bound(), _STLP_DEBUG_CHECK, _STLP_DISTANCE_TYPE, and _STLP_PRIV.

template<class _ForwardIter, class _Tp>
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter upper_bound ( _ForwardIter  __first,
_ForwardIter  __last,
const _Tp &  __val 
) [inline]


Variable Documentation

_STLP_INLINE_LOOP _InputIter __last

Definition at line 68 of file _algo.h.

Referenced by __copy_buffered(), __copy_n(), __read_buffered(), __ucopy_n(), deque< _Tp, >::_Invalidate_iterators(), deque< _Tp, >::_M_erase(), _M_ignore_buffered(), basic_string< _CharT, _Traits, _Alloc >::_M_replace(), _Rope_rotate(), _S_remove_if(), _S_unique(), rope< _CharT, _Alloc >::append(), vector< locale::facet * >::assign(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::count(), deque< _Tp, >::deque(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::equal_range(), vector< locale::facet * >::erase(), _Rb_tree< _Key, _Compare, _Value, _KeyOfValue, _Traits, >::erase(), slist< _Tp, _Alloc >::erase(), multiset< _Key,, >::erase(), set< _Key,, >::erase(), multimap< _Key, _Tp,, >::erase(), map< _Key, _Tp,, >::erase(), list< _Tp, _Alloc >::erase(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::erase(), deque< _Tp, >::erase(), __BVECTOR_QUALIFIED::erase(), slist< _Tp, _Alloc >::erase_after(), basic_string< _CharT, _Traits, _Alloc >::find_last_not_of(), basic_string< _CharT, _Traits, _Alloc >::find_last_of(), vector< locale::facet * >::insert(), multimap< _Key, _Tp,, >::insert(), map< _Key, _Tp,, >::insert(), _Rb_tree< _Key, _Compare, _Value, _KeyOfValue, _Traits, >::insert_equal(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::insert_equal_noresize(), _Rb_tree< _Key, _Compare, _Value, _KeyOfValue, _Traits, >::insert_unique(), hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All >::insert_unique_noresize(), list< _Tp, _Alloc >::list(), map< _Key, _Tp,, >::map(), multimap< _Key, _Tp,, >::multimap(), list< _Tp, _Alloc >::remove(), basic_string< _CharT, _Traits, _Alloc >::replace(), vector< locale::facet * >::resize(), deque< _Tp, >::resize(), basic_string< _CharT, _Traits, _Alloc >::rfind(), rotate(), slist< _Tp, _Alloc >::slist(), slist< _Tp, _Alloc >::splice(), list< _Tp, _Alloc >::splice(), and slist< _Tp, _Alloc >::splice_after().



Generated on Mon Mar 10 15:32:48 2008 by  doxygen 1.5.1