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


C++ JSValue::MemberBegin方法代码示例

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


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

示例1: parse

    void parse(const char* name, const JSValue& layer) {
        mbgl::util::erase_if(values, [] (const auto& p) { return p.first != ClassID::Fallback; });

        std::string transitionName = { name };
        transitionName += "-transition";

        for (auto it = layer.MemberBegin(); it != layer.MemberEnd(); ++it) {
            const std::string paintName { it->name.GetString(), it->name.GetStringLength() };
            if (paintName.compare(0, 5, "paint") != 0)
                continue;

            bool isClass = paintName.compare(0, 6, "paint.") == 0;
            if (isClass && paintName.length() <= 6)
                continue;

            ClassID classID = isClass ? ClassDictionary::Get().lookup(paintName.substr(6)) : ClassID::Default;

            if (it->value.HasMember(name)) {
                if (auto v = parseProperty<T>(name, it->value[name])) {
                    values.emplace(classID, v);
                }
            }

            if (it->value.HasMember(transitionName.c_str())) {
                if (auto v = parseTransitionOptions(name, it->value[transitionName.c_str()])) {
                    transitions.emplace(classID, *v);
                }
            }
        }
    }
开发者ID:LTMana,项目名称:mapbox-gl-native,代码行数:30,代码来源:paint_property.hpp

示例2: parseSources

void Parser::parseSources(const JSValue& value) {
    if (!value.IsObject()) {
        Log::Warning(Event::ParseStyle, "sources must be an object");
        return;
    }

    for (auto it = value.MemberBegin(); it != value.MemberEnd(); ++it) {
        std::string id = *conversion::toString(it->name);

        conversion::Result<std::unique_ptr<Source>> source
            = conversion::convert<std::unique_ptr<Source>>(it->value, id);
        if (!source) {
            Log::Warning(Event::ParseStyle, source.error().message);
            continue;
        }

        sourcesMap.emplace(id, (*source).get());
        sources.emplace_back(std::move(*source));
    }
}
开发者ID:CyberLight,项目名称:mapbox-gl-native,代码行数:20,代码来源:parser.cpp


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