Home | Libraries | People | FAQ | More |
template<class SinglePassRange1, class SinglePassRange2> bool includes(const SinglePassRange1& rng1, const SinglePassRange2& rng2); template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate > bool includes(const SinglePassRange1& rng1, const SinglePassRange2& rng2, BinaryPredicate pred);
includes
returns true
if and only if, for every element
in rng2
, an equivalent
element is also present in rng1
.
The ordering relationship is determined by using operator<
in the non-predicate versions, and
by evaluating pred
in
the predicate versions.
Defined in the header file boost/range/algorithm/set_algorithm.hpp
For the non-predicate versions:
SinglePassRange1
is a model of the Single
Pass Range Concept.
SinglePassRange2
is a model of the Single
Pass Range Concept.
SinglePassRange1
and SinglePassRange2
have the same value type.
SinglePassRange1
's
value type is a model of the LessThanComparableConcept
.
SinglePassRange2
's
value type is a model of the LessThanComparableConcept
.
SinglePassRange1
's
value type is a strict weak ordering,
as defined in the LessThanComparableConcept
requirements.
SinglePassRange2
's
value type is a strict weak ordering,
as defined in the LessThanComparableConcept
requirements.
For the predicate versions:
SinglePassRange1
is a model of the Single
Pass Range Concept.
SinglePassRange2
is a model of the Single
Pass Range Concept.
SinglePassRange1
and SinglePassRange2
have the same value type.
BinaryPredicate
is
a model of the StrictWeakOrderingConcept
.
SinglePassRange1
's
value type is convertible to BinaryPredicate
's
first argument type.
SinglePassRange2
's
value type is convertible to BinaryPredicate
's
second argument types.
For the non-predicate versions:
rng1
and rng2
are sorted in ascending order
according to operator<
.
For the predicate versions:
rng1
and rng2
are sorted in ascending order
according to pred
.
Linear. O(N)
,
where N
is distance(rng1) + distance(rng2)
.