STL: 测试序列中元素
all_of
Returns true when a condition is present at each element in the given range.
template<class InputIterator, class Predicate> bool all_of( InputIterator _First, InputIterator _Last, BinaryPredicate _Comp );
any_of
Returns true when a condition is present at least once in the specified range of elements.
template<class InputIterator, class UnaryPredicate> bool any_of( InputIterator _First, InputIterator _Last, UnaryPredicate _Comp );
none_of
Returns true when a condition is never present among elements in the given range.
template<class InputIterator, class BinaryPredicate> bool none_of( InputIterator _First, InputIterator _Last, BinaryPredicate _Comp );
is_heap
Returns true if the elements in the specified range form a heap.
template<class RandomAccessIterator> bool is_heap( RandomAccessIterator _First, RandomAccessIterator _Last ); template<class RandomAccessIterator, class BinaryPredicate> bool is_heap( RandomAccessIterator _First, RandomAccessIterator _Last, BinaryPredicate _Comp );
注,The first template function returns is_heap_until(_First,_Last) ==_Last.
The second template function returns is_heap_until(_First,_Last,_Comp) ==_Last.
is_heap_until
Returns a RandomAccessIterator that is set to the last element that forms a heap.(VS2012文档这里好像有问题,文档显示返回bool,但是编译器提示为一个迭代器)
template<class RandomAccessIterator> RandomAccessIterator is_heap_until( RandomAccessIterator _First, RandomAccessIterator _Last ); template<class RandomAccessIterator, class BinaryPredicate> RandomAccessIterator is_heap_until( RandomAccessIterator _First, RandomAccessIterator _Last, BinaryPredicate _Comp );
is_partitioned
Returns true if all the elements in the given range that test true for a condition come before any elements that test false.
template<class InputIterator, class BinaryPredicate> bool is_partitioned( InputIterator _First, InputIterator _Last, BinaryPredicate _Comp );
is_sorted
Returns true if the elements in the specified range are in sorted order.
template<class ForwardIterator> bool is_sorted( ForwardIterator _First, ForwardIterator _Last ); template<class ForwardIterator, class BinaryPredicate> bool is_sorted( ForwardIterator _First, ForwardIterator _Last, BinaryPredicate _Comp );
注,
The first template function returns is_sorted_until(_First,_Last) ==_Last. The operator< function performs the order comparison.
The second template function returns is_sorted_until(_First,_Last,_Comp) ==_Last. The _Comp predicate function performs the order comparison.
is_sorted_until
Returns a ForwardIterator that is set to the last element that is in sorted order from a specified range.
The second version lets you provide a BinaryPredicate function that returns true when two given elements are in sorted order, and false otherwise.
template<class ForwardIterator> ForwardIterator is_sorted_until( ForwardIterator _First, ForwardIterator _Last ); template<class ForwardIterator, class BinaryPredicate> ForwardIterator is_sorted_until( ForwardIterator _First, ForwardIterator _Last, BinaryPredicate _Comp );