当前位置: 首页>>代码示例>>C++>>正文


C++ irept::compare方法代码示例

本文整理汇总了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
}
开发者ID:huangshiyou,项目名称:esbmc,代码行数:52,代码来源:irep.cpp


注:本文中的irept::compare方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。