Commit d506dae9 authored by Jesse Beder's avatar Jesse Beder
Browse files

Added IsNull function

parent 7a899204
...@@ -6,10 +6,14 @@ ...@@ -6,10 +6,14 @@
namespace YAML namespace YAML
{ {
class Node;
struct _Null {}; struct _Null {};
inline bool operator == (const _Null&, const _Null&) { return true; } inline bool operator == (const _Null&, const _Null&) { return true; }
inline bool operator != (const _Null&, const _Null&) { return false; } inline bool operator != (const _Null&, const _Null&) { return false; }
bool IsNull(const Node& node);
extern _Null Null; extern _Null Null;
} }
......
#include "null.h" #include "null.h"
#include "node.h"
namespace YAML namespace YAML
{ {
_Null Null; _Null Null;
bool IsNull(const Node& node)
{
return node.Read(Null);
}
} }
...@@ -261,8 +261,7 @@ namespace Test ...@@ -261,8 +261,7 @@ namespace Test
doc[0] >> output; doc[0] >> output;
if(output != "hello") if(output != "hello")
return false; return false;
doc[1] >> output; if(!IsNull(doc[1]))
if(output != "~")
return false; return false;
doc[2] >> output; doc[2] >> output;
if(output != "world") if(output != "world")
...@@ -297,9 +296,7 @@ namespace Test ...@@ -297,9 +296,7 @@ namespace Test
YAML::Node doc; YAML::Node doc;
parser.GetNextDocument(doc); parser.GetNextDocument(doc);
std::string output; if(!IsNull(doc["empty value"]))
doc["empty value"] >> output;
if(output != "~")
return false; return false;
return true; return true;
......
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