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
    );
原文地址:https://www.cnblogs.com/freewater/p/2954321.html