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


C++ Value::IsString方法代码示例

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


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

示例1: setProperty

bool UITextFieldLoader::setProperty(cocos2d::Node *p, const std::string & name, const rapidjson::Value & value, rapidjson::Value & properties)
{
    uilib::TextField *text = dynamic_cast<uilib::TextField*>(p);
    CCAssert(text, "UITextFieldLoader::setProperty");

    if(name == "placeholderText")
    {
        if(value.IsString())
        {
            text->setPlaceholderText(value.GetString());
        }
    }
    else if(name == "placeholderColor")
    {
        cocos2d::Color3B cr;
        if(helper::parseValue(value, cr))
        {
            text->setPlaceholderColor(cr);
        }
    }
    else
    {
        return base_class::setProperty(p, name, value, properties);
    }

    return true;
}
开发者ID:net4nt,项目名称:cc-qt-framework,代码行数:27,代码来源:UITextFieldLoader.cpp

示例2: readFromValue

bool MultitypeVar::readFromValue(const rapidjson::Value& obj)
{
    if (obj.IsNull())
    {
        mType = MultitypeNull;
    }
    else if (obj.IsBool())
    {
        mType = MultitypeBool;
        mBool = obj.GetBool();
    }
    else if (obj.IsNumber())
    {
        mType = MultitypeNumber;
        mNumber = obj.GetDouble();
    }
    else if (obj.IsString())
    {
        mType = MultitypeNumber;
        mString = obj.GetString();
    }
    else
    {
        mType = MultitypeNull;
        return false;
    }
    return true;
}
开发者ID:Brewtallity,项目名称:WindowsSDK,代码行数:28,代码来源:PlayFabBaseModel.cpp

示例3: if

std::shared_ptr<VolumeIntegrator> VolumeIntegrator::Load(const rapidjson::Value& value) {
    std::shared_ptr<VolumeIntegrator> integrator;
    
    std::string type;
    
    if (value.IsString()) {
        type = value.GetString();
    } else if (value.IsObject() && value.HasMember("type")) {
        type = value["type"].GetString();
    } else {
        std::cerr << "VolumeIntegrator error: no type given" << std::endl;
        return integrator;
    }
    
    std::transform(type.begin(), type.end(), type.begin(), ::tolower);
    
    if (type == "singlescattering") {
        integrator = SingleScatteringIntegrator::Load(value);
    } else {
        std::cerr << "VolumeIntegrator error: unknown type \"" << type << "\"" << std::endl;
        return integrator;
    }
    
    return integrator;
}
开发者ID:gaelduplessix,项目名称:lvv,代码行数:25,代码来源:VolumeIntegrator.cpp

示例4: fromJson

bool fromJson(const rapidjson::Value &v, std::string &dst)
{
    if (v.IsString()) {
        dst = std::move(std::string(v.GetString()));
        return true;
    }
    return false;
}
开发者ID:evilhonduco,项目名称:tungsten,代码行数:8,代码来源:JsonUtils.cpp

示例5: atoll

EdgeCost InputUtils::impl::VA::getEdgeCostFromValue(
		const rapidjson::Value& edgeCost) {
	if (edgeCost.IsString()) {
		return std::atoll(edgeCost.GetString());
	} else {
		return edgeCost.GetDouble();
	}
}
开发者ID:PWrGitHub194238,项目名称:BinaryRIMST,代码行数:8,代码来源:IOUtils.cpp

示例6:

VertexIdx InputUtils::impl::VA::getVertexIdxFromValue(
		const rapidjson::Value& vertexIdx) {
	if (vertexIdx.IsString()) {
		return (VertexIdx) std::atoll(vertexIdx.GetString());
	} else {
		return vertexIdx.GetDouble();
	}
}
开发者ID:PWrGitHub194238,项目名称:BinaryRIMST,代码行数:8,代码来源:IOUtils.cpp

示例7: rewriteLocalScheme

void rewriteLocalScheme(rapidjson::Value &value, rapidjson::Document::AllocatorType &allocator) {
    ASSERT_TRUE(value.IsString());
    auto string = std::string { value.GetString(),value.GetStringLength() };
    if (string.compare(0, 8, "local://") == 0) {
        string.replace(0, 8, "http://127.0.0.1:2900/");
        value.SetString(string.data(), string.size(), allocator);
    }
}
开发者ID:simudream,项目名称:mapbox-gl-native,代码行数:8,代码来源:headless.cpp

示例8: setProperty

bool UIFrameViewLoader::setProperty(cocos2d::Node *p, const std::string & name, const rapidjson::Value & value, rapidjson::Value & properties)
{
    uilib::FrameView *image = dynamic_cast<uilib::FrameView*>(p);
    CCAssert(image, "UIFrameViewLoader::setProperty");
    
    if (name == "image")
    {
        if(value.IsString())
        {
            image->setImage(value.GetString());
        }
    }
    else if(name == "customSizeEnable")
    {
        if(value.IsBool())
        {
            image->setCustomSizeEnable(value.GetBool());
        }
    }
    else if(name == "capInsets")
    {
        cocos2d::Rect rc;
        if(helper::parseValue(value, rc))
        {
            image->setCapInsets(rc);
        }
    }
    else if(name == "color")
    {
        cocos2d::Color3B cr;
        if(helper::parseValue(value, cr))
        {
            image->setColor(cr);
        }
    }
    else if(name == "opacity")
    {
        if(value.IsInt())
        {
            image->setOpacity(value.GetInt());
        }
    }
    else
    {
        return base_class::setProperty(p, name, value, properties);
    }
    return true;
}
开发者ID:net4nt,项目名称:cc-qt-framework,代码行数:48,代码来源:UIFrameViewLoader.cpp

示例9: read_print_for_array

void Json_Parser::read_print_for_array(rapidjson::Value &va,int i){
    
    if (va.IsBool()) {
        const bool flag=va.GetBool();
        
        CCLOG("%d:%d",i,flag);
    }
    else if (va.IsDouble()) {
        const double flag=va.GetDouble();
        CCLOG("%d:%f",i,flag);
    }
    else if (va.IsInt()) {
        const int flag=va.GetInt();
        CCLOG("%d:%d",i,flag);
    }
    else if (va.IsString()) {
        const std::string flag=va.GetString();
        CCLOG("%d:%s",i,flag.c_str());
    }
    else if (va.IsNull()) {
        
        CCLOG("%d:null",i);
    }
    else if(va.IsObject())
    {
        CCLOG("obj----------%d",i);
        auto it=va.MemberBegin();
        for (;it!=va.MemberEnd();it++) {
            if (va.HasMember(it->name)) {
                read_print(va,it->name.GetString());
                
            }
        }
        
    }
    else if(va.IsArray())
    {
        CCLOG("array-------%d",i);
        for (int i=0; i<va.Size();i++) {
            
            read_print_for_array(va[i],i);
            
            
        }
        
    }
    
}
开发者ID:jj918160,项目名称:OpenGLTest,代码行数:48,代码来源:Json_Parser.cpp

示例10: read_to_map_for_array

void Json_Parser::read_to_map_for_array(cocos2d::ValueVector &temp,rapidjson::Value &va,int i){
     CCLOG("dex:%d",i);
    if (va.IsBool()) {
        const bool flag=va.GetBool();
          temp.push_back(Value(flag));
    }
    else if (va.IsDouble()) {
        const double flag=va.GetDouble();
         temp.push_back(Value(flag));
    }
    else if (va.IsInt()) {
        const int flag=va.GetInt();
          temp.push_back(Value(flag));
    }
    else if (va.IsString()) {
        const std::string flag=va.GetString();
        temp.push_back(Value(flag));
       // CCLOG("++:%d",temp.size());
    }
    else if (va.IsNull()) {
      
           temp.push_back(Value(nullptr));
        
    }
    else if(va.IsObject())
    {
        cocos2d::ValueMap temp2;
        auto it=va.MemberBegin();
        for (;it!=va.MemberEnd();it++) {
            if (va.HasMember(it->name)) {
                read_to_map(temp2,va,it->name.GetString());
            }
        }
           temp.push_back(Value(temp2));
        // CCLOG("mapinvectro层:%lu",temp2.size());
    }
    else if(va.IsArray())
    {
        cocos2d::ValueVector temp2;
        for (int i=0; i<va.Size();i++) {
            read_to_map_for_array(temp2,va[i],i);
        }
         temp.push_back(Value(temp2));
        // CCLOG("vectorinvectro层:%lu",temp.size());
    }
    
}
开发者ID:jj918160,项目名称:OpenGLTest,代码行数:47,代码来源:Json_Parser.cpp

示例11: parseAccess

    //-----------------------------------------------------------------------------------
    ResourceAccess::ResourceAccess HlmsJsonCompute::parseAccess( const rapidjson::Value &json )
    {
        uint8 access = 0;
        if( json.IsArray() )
        {
            for( rapidjson::SizeType i=0; i<json.Size(); ++i )
            {
                if( json[i].IsString() )
                    access |= parseAccess( json[i].GetString() );
            }
        }
        else if( json.IsString() )
        {
            access = parseAccess( json.GetString() );
        }

        return static_cast<ResourceAccess::ResourceAccess>( access );
    }
开发者ID:devxkh,项目名称:FrankE,代码行数:19,代码来源:OgreHlmsJsonCompute.cpp

示例12: get_value

std::string get_value(const rapidjson::Value& root, const char* key)
{
  if (key != nullptr)
  {
    if (root.HasMember(key) && root[key].IsString())
    {
      return root[key].GetString(); 
    }
    else
      throw std::system_error(std::error_code(), "Parse error.");
  }
  else
  {
    if (root.IsString())
      return root.GetString();
    else
      throw std::system_error(std::error_code(), "Parse error.");
  }
}
开发者ID:gorgool,项目名称:Radar-software,代码行数:19,代码来源:GetValueWrapper.hpp

示例13: toString

std::string SettingRegistry::toString(const rapidjson::Value& dflt, std::string setting_name)
{
    if (dflt.IsString())
    {
        return dflt.GetString();
    }
    else if (dflt.IsTrue())
    {
        return "true";
    }
    else if (dflt.IsFalse())
    {
        return "false";
    }
    else if (dflt.IsNumber())
    {
        std::ostringstream ss;
        ss << dflt.GetDouble();
        return ss.str();
    } 
    else if (dflt.IsArray())
    {
        std::stringstream ss;
        ss << "[";
        bool first = true;
        for (auto it = dflt.Begin(); it != dflt.End(); ++it)
        {
            if (!first)
            {
                ss << ",";
            }
            ss << toString(*it);
            first = false;
        }
        ss << "]";
        return ss.str();
    }
    else 
    {
        logError("Unrecognized data type in JSON: %s has type %s\n", setting_name.c_str(), toString(dflt.GetType()).c_str());
        return "";
    }
}
开发者ID:nicanor-romero,项目名称:CuraEngine,代码行数:43,代码来源:settingRegistry.cpp

示例14: getType

int JsonValidator::getType(rapidjson::Value& jsonValue) {
	if (jsonValue.IsNull()) {
		return kJsonTypeNull;
	} else if (jsonValue.IsBool()) {
		return kJsonTypeBoolean;
	} else if (jsonValue.IsObject()) {
		return kJsonTypeObject;
	} else if (jsonValue.IsArray()) {
		return kJsonTypeArray;
	} else if (jsonValue.IsString()) {
		return kJsonTypeString;
	} else if (jsonValue.IsInt() || jsonValue.IsInt64() ||
	           jsonValue.IsUint() || jsonValue.IsUint64()) {
		return kJsonTypeInteger;
	} else if (jsonValue.IsDouble()) {
		return kJsonTypeDouble;
	} else {
		return kJsonTypeUnknown;
	}
}
开发者ID:Nuos,项目名称:STUPRO,代码行数:20,代码来源:JsonValidator.cpp

示例15: set_value

	bool MetaDataValue::set_value(const rapidjson::Value& v)
	{
		if( v.IsDouble())
		{
			_vPtr = new double(v.GetDouble());
		}
		else if(v.IsBool())
		{
			_vPtr = new bool(v.GetBool());
		}
		else if(v.IsInt())
		{
			_vPtr = new int(v.GetInt());
		}
		else if(v.IsString())
		{
			_vPtr = new std::string(v.GetString());
		}
		else
			return false;
		return true;

	}
开发者ID:niofire,项目名称:Deuterium-Engine,代码行数:23,代码来源:meta_data_value.cpp


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