Added empty() operator-bang and isNull()
diff --git a/include/json/value.h b/include/json/value.h
index 2453cb1..de09d5f 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -233,6 +233,7 @@
       double asDouble() const;

       bool asBool() const;

 

+      bool isNull() const;

       bool isBool() const;

       bool isInt() const;

       bool isUInt() const;

@@ -248,7 +249,14 @@
       /// Number of values in array or object

       UInt size() const;

 

-      /// Removes all object members and array elements.

+      /// \brief Return true if empty array, empty object, or null;

+      /// otherwise, false.

+      bool empty() const;

+

+      /// Return isNull()

+      bool operator!() const;

+

+      /// Remove all object members and array elements.

       /// \pre type() is arrayValue, objectValue, or nullValue

       /// \post type() is unchanged

       void clear();

diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index 5fbbe13..329b634 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -888,6 +888,23 @@
 }

 

 

+bool 

+Value::empty() const

+{

+   if ( isNull() || isArray() || isObject() )

+      return size() == 0u;

+   else

+      return false;

+}

+

+

+bool

+Value::operator!() const

+{

+   return isNull();

+}

+

+

 void 

 Value::clear()

 {

@@ -1217,6 +1234,13 @@
 //# endif

 

 

+bool

+Value::isNull() const

+{

+   return type_ == nullValue;

+}

+

+

 bool 

 Value::isBool() const

 {