"tests/test_config.py" did not exist on "d5acb4110a5536f5c0ace4a0c158f0e0c71c0a50"
Commit 5dbcf7ee authored by Jesse Beder's avatar Jesse Beder
Browse files

Fix conversion for C-strings (both literals and normal C-strings) so it compiles on Visual Studio.

parent f5418306
......@@ -47,7 +47,22 @@ namespace YAML
}
};
// C-strings can only be encoded
template<>
struct convert<const char *> {
static Node encode(const char *&rhs) {
return Node(rhs);
}
};
template<std::size_t N>
struct convert<const char[N]> {
static Node encode(const char (&rhs)[N]) {
return Node(rhs);
}
};
template<>
struct convert<_Null> {
static Node encode(const _Null& /* rhs */) {
return Node();
......
......@@ -149,7 +149,12 @@ namespace YAML
return false;
}
template<typename T>
inline bool node_data::equals(node& node, const char *rhs, shared_memory_holder pMemory)
{
return equals<std::string>(node, rhs, pMemory);
}
template<typename T>
inline node& node_data::convert_to_node(const T& rhs, shared_memory_holder pMemory)
{
Node value = convert<T>::encode(rhs);
......
......@@ -77,6 +77,7 @@ namespace YAML
template<typename T>
static bool equals(node& node, const T& rhs, shared_memory_holder pMemory);
static bool equals(node& node, const char *rhs, shared_memory_holder pMemory);
template<typename T>
static node& convert_to_node(const T& rhs, shared_memory_holder pMemory);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment