本文整理汇总了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(); }
示例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) { \