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


C++ Expression::getKind方法代码示例

本文整理汇总了C++中Expression::getKind方法的典型用法代码示例。如果您正苦于以下问题:C++ Expression::getKind方法的具体用法?C++ Expression::getKind怎么用?C++ Expression::getKind使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Expression的用法示例。


在下文中一共展示了Expression::getKind方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

bool FormatExpression::operator==(const Expression& e) const {
    if (e.getKind() == Kind::FormatExpression) {
        auto rhs = static_cast<const FormatExpression*>(&e);
        if (sections.size() != rhs->sections.size()) {
            return false;
        }
        for (std::size_t i = 0; i < sections.size(); i++) {
            const auto& lhsSection = sections.at(i);
            const auto& rhsSection = rhs->sections.at(i);
            if (*lhsSection.text != *rhsSection.text) {
                return false;
            }
            if ((lhsSection.fontScale && (!rhsSection.fontScale || **lhsSection.fontScale != **rhsSection.fontScale)) ||
                (!lhsSection.fontScale && rhsSection.fontScale)) {
                return false;
            }
            if ((lhsSection.textFont && (!rhsSection.textFont || **lhsSection.textFont != **rhsSection.textFont)) ||
                (!lhsSection.textFont && rhsSection.textFont)) {
                return false;
            }
            if ((lhsSection.textColor && (!rhsSection.textColor || **lhsSection.textColor != **rhsSection.textColor)) ||
                (!lhsSection.textColor && rhsSection.textColor)) {
                return false;
            }
        }
        return true;
    }
    return false;
}
开发者ID:mapbox,项目名称:mapbox-gl-native,代码行数:29,代码来源:format_expression.cpp

示例2:

 bool operator==(const Expression& e) const override {
     if (e.getKind() == Kind::Var) {
         auto rhs = static_cast<const Var*>(&e);
         return *value == *(rhs->value);
     }
     return false;
 }
开发者ID:BharathMG,项目名称:mapbox-gl-native,代码行数:7,代码来源:let.hpp

示例3: return

bool Match<T>::operator==(const Expression& e) const {
    if (e.getKind() == Kind::Match) {
        auto rhs = static_cast<const Match*>(&e);
        return (*input == *(rhs->input) &&
                *otherwise == *(rhs->otherwise) &&
                Expression::childrenEqual(branches, rhs->branches));
    }
    return false;
}
开发者ID:mapbox,项目名称:mapbox-gl-native,代码行数:9,代码来源:match.cpp

示例4:

bool CollatorExpression::operator==(const Expression& e) const {
    if (e.getKind() == Kind::CollatorExpression) {
        auto rhs = static_cast<const CollatorExpression*>(&e);
        if ((locale && (!rhs->locale || **locale != **(rhs->locale))) ||
            (!locale && rhs->locale)) {
            return false;
        }
        return *caseSensitive == *(rhs->caseSensitive) &&
            *diacriticSensitive == *(rhs->diacriticSensitive);
    }
    return false;
}
开发者ID:BharathMG,项目名称:mapbox-gl-native,代码行数:12,代码来源:collator_expression.cpp


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