Added IsNull function

This commit is contained in:
jbeder
2009-07-31 05:07:21 +00:00
parent cb2b5783fa
commit 952f72233e
3 changed files with 12 additions and 5 deletions

View File

@@ -6,10 +6,14 @@
namespace YAML
{
class Node;
struct _Null {};
inline bool operator == (const _Null&, const _Null&) { return true; }
inline bool operator != (const _Null&, const _Null&) { return false; }
bool IsNull(const Node& node);
extern _Null Null;
}

View File

@@ -1,6 +1,12 @@
#include "null.h"
#include "node.h"
namespace YAML
{
_Null Null;
bool IsNull(const Node& node)
{
return node.Read(Null);
}
}

View File

@@ -261,8 +261,7 @@ namespace Test
doc[0] >> output;
if(output != "hello")
return false;
doc[1] >> output;
if(output != "~")
if(!IsNull(doc[1]))
return false;
doc[2] >> output;
if(output != "world")
@@ -297,9 +296,7 @@ namespace Test
YAML::Node doc;
parser.GetNextDocument(doc);
std::string output;
doc["empty value"] >> output;
if(output != "~")
if(!IsNull(doc["empty value"]))
return false;
return true;