本文整理汇总了C++中irept::compare方法的典型用法代码示例。如果您正苦于以下问题:C++ irept::compare方法的具体用法?C++ irept::compare怎么用?C++ irept::compare使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类irept
的用法示例。
在下文中一共展示了irept::compare方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ordering
bool ordering(const irept &X, const irept &Y)
{
return X.compare(Y)<0;
#if 0
if(X.data<Y.data) return true;
if(Y.data<X.data) return false;
if(X.sub.size()<Y.sub.size()) return true;
if(Y.sub.size()<X.sub.size()) return false;
{
irept::subt::const_iterator it1, it2;
for(it1=X.sub.begin(),
it2=Y.sub.begin();
it1!=X.sub.end() && it2!=Y.sub.end();
it1++,
it2++)
{
if(ordering(*it1, *it2)) return true;
if(ordering(*it2, *it1)) return false;
}
assert(it1==X.sub.end() && it2==Y.sub.end());
}
if(X.named_sub.size()<Y.named_sub.size()) return true;
if(Y.named_sub.size()<X.named_sub.size()) return false;
{
irept::named_subt::const_iterator it1, it2;
for(it1=X.named_sub.begin(),
it2=Y.named_sub.begin();
it1!=X.named_sub.end() && it2!=Y.named_sub.end();
it1++,
it2++)
{
if(it1->first<it2->first) return true;
if(it2->first<it1->first) return false;
if(ordering(it1->second, it2->second)) return true;
if(ordering(it2->second, it1->second)) return false;
}
assert(it1==X.named_sub.end() && it2==Y.named_sub.end());
}
return false;
#endif
}