Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
all
Description

For a sequence seq and unary function object f, all returns true if f returns true for every element of seq.

Synopsis
template<
    typename Sequence,
    typename F
    >
typename result_of::all<Sequence,F>::type all(
    Sequence const& seq, F f);

Table 1.50. Parameters

Parameter

Requirement

Description

seq

A model of Forward Sequence, f(e) is a valid expression, convertible to bool, for every element e in seq

The sequence to search

f

A unary function object

The search predicate


Expression Semantics
all(seq, f);

Return type: bool

Semantics: Returns true if and only if f(e) evaluates to true for every element e in seq.

Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

Header
#include <boost/fusion/algorithm/query/all.hpp>
#include <boost/fusion/include/all.hpp>
Example
struct odd
{
    template<typename T>
    bool operator()(T t) const
    {
        return t % 2;
    }
};
...
assert(all(make_vector(1,3), odd()));
assert(!all(make_vector(1,2), odd()));

PrevUpHomeNext