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


C++ value_type::string_value方法代码示例

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


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

示例1:

 static const char *extract_value(const value& val) { return val.string_value().c_str(); }
开发者ID:respu,项目名称:lightconf,代码行数:1,代码来源:value_type_info.hpp

示例2: extract_value

    static type_name extract_value(const value& val) { return extract; } \
    static value create_value(const type_name& x) { return construct; } \
};
#define DEFINE_VALUE_TYPE_REF(type_name, req_type,  extract, construct) \
template <> struct value_type_info<type_name> { \
    static bool can_convert_from(const value& val) { return val.type() == req_type; } \
    static const type_name& extract_value(const value& val) { return extract; } \
    static value create_value(const type_name& x) { return construct; } \
};


DEFINE_VALUE_TYPE    (double,            value_type::number_type, val.number_value(),   value(x))
DEFINE_VALUE_TYPE    (int,               value_type::number_type, val.number_value(),   value((double)x))
DEFINE_VALUE_TYPE    (float,             value_type::number_type, val.number_value(),   value((double)x))
DEFINE_VALUE_TYPE    (bool,              value_type::bool_type,   val.bool_value(),     value(x))
DEFINE_VALUE_TYPE_REF(std::string,       value_type::string_type, val.string_value(),   value(x))
DEFINE_VALUE_TYPE_REF(value_vector_type, value_type::vector_type, val.vector_value(),   value(x))
DEFINE_VALUE_TYPE_REF(group,             value_type::group_type,  val.group_value(),    value(x))

#undef DEFINE_VALUE_TYPE
#undef DEFINE_VALUE_TYPE_REF

#define LIGHTCONF_BEGIN_ENUM(enumname) \
template <> struct value_type_info<enumname> { \
    static const std::map<enumname, std::string> names; \
    static bool can_convert_from(const value& val) { \
        if (val.type() != value_type::string_type) return false; \
        for (auto kv : names) { if (kv.second == val.string_value()) return true; } \
        return false; \
    } \
    static enumname extract_value(const value& val) { \
开发者ID:respu,项目名称:lightconf,代码行数:31,代码来源:value_type_info.hpp


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