首页 / 算法 / 查询算法 / equal |
template< typename Seq1 , typename Seq2 , typename Pred = is_same<_1,_2> > struct equal { typedef unspecified type; };
如果两个序列在逐个元素比较后Seq1andSeq2完全相同,则返回一个真值的 Integral Constant。
#include <boost/mpl/equal.hpp>
Parameter | 要求 | 描述 |
---|---|---|
Seq1, Seq2 | Forward Sequence | 待比较的序列。 |
Pred | 二元 Lambda 表达式 | 比较准则。 |
对于任何 前向序列s1ands2以及一个二元 Lambda 表达式pred:
typedef equal<s1,s2,pred>::type c;
返回类型 | |
---|---|
语义 | c::value == true当且仅当size<s1>::value == size<s2>::value并且对于每一个迭代器i在 [begin<s1>::type, end<s1>::type) deref<i>::type与...相同 advance< begin<s2>::type, distance< begin<s1>::type,i >::type >::type |
typedef vector<char,int,unsigned,long,unsigned long> s1; typedef list<char,int,unsigned,long,unsigned long> s2; BOOST_MPL_ASSERT(( equal<s1,s2> ));