...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Algorithms / Querying Algorithms / equal |
template< typename Seq1 , typename Seq2 , typename Pred = is_same<_1,_2> > struct equal { typedef unspecified type; };
Returns a true-valued Integral Constant if the two sequences Seq1 and Seq2 are identical when compared element-by-element.
#include <boost/mpl/equal.hpp>
Parameter | Requirement | Description |
---|---|---|
Seq1, Seq2 | Forward Sequence | Sequences to compare. |
Pred | Binary Lambda Expression | A comparison criterion. |
For any Forward Sequences s1 and s2 and a binary Lambda Expression pred:
typedef equal<s1,s2,pred>::type c;
Return type: | Integral Constant |
---|---|
Semantics: | c::value == true is and only if size<s1>::value == size<s2>::value and for every iterator i in [begin<s1>::type, end<s1>::type) deref<i>::type is identical to advance< begin<s2>::type, distance< begin<s1>::type,i >::type >::type |
Linear. At most size<s1>::value comparisons.
typedef vector<char,int,unsigned,long,unsigned long> s1; typedef list<char,int,unsigned,long,unsigned long> s2; BOOST_MPL_ASSERT(( equal<s1,s2> ));