Commit 8e9a7119 by Niels

closes #90

parent 13751625
...@@ -825,6 +825,18 @@ class basic_json ...@@ -825,6 +825,18 @@ class basic_json
return (m_type == value_t::number_integer) or (m_type == value_t::number_float); return (m_type == value_t::number_integer) or (m_type == value_t::number_float);
} }
// return whether value an integer is number
bool is_number_integer() const noexcept
{
return m_type == value_t::number_integer;
}
// return whether value is a floating-point number
bool is_number_float() const noexcept
{
return m_type == value_t::number_float;
}
// return whether value is object // return whether value is object
bool is_object() const noexcept bool is_object() const noexcept
{ {
......
...@@ -825,6 +825,18 @@ class basic_json ...@@ -825,6 +825,18 @@ class basic_json
return (m_type == value_t::number_integer) or (m_type == value_t::number_float); return (m_type == value_t::number_integer) or (m_type == value_t::number_float);
} }
// return whether value an integer is number
bool is_number_integer() const noexcept
{
return m_type == value_t::number_integer;
}
// return whether value is a floating-point number
bool is_number_float() const noexcept
{
return m_type == value_t::number_float;
}
// return whether value is object // return whether value is object
bool is_object() const noexcept bool is_object() const noexcept
{ {
......
...@@ -1328,6 +1328,8 @@ TEST_CASE("object inspection") ...@@ -1328,6 +1328,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(j.is_object()); CHECK(j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1340,6 +1342,8 @@ TEST_CASE("object inspection") ...@@ -1340,6 +1342,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(j.is_array()); CHECK(j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1352,6 +1356,8 @@ TEST_CASE("object inspection") ...@@ -1352,6 +1356,8 @@ TEST_CASE("object inspection")
CHECK(j.is_null()); CHECK(j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1364,6 +1370,8 @@ TEST_CASE("object inspection") ...@@ -1364,6 +1370,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(j.is_boolean()); CHECK(j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1376,6 +1384,8 @@ TEST_CASE("object inspection") ...@@ -1376,6 +1384,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(j.is_string()); CHECK(j.is_string());
...@@ -1388,6 +1398,8 @@ TEST_CASE("object inspection") ...@@ -1388,6 +1398,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(j.is_number()); CHECK(j.is_number());
CHECK(j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1400,6 +1412,8 @@ TEST_CASE("object inspection") ...@@ -1400,6 +1412,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(j.is_number()); CHECK(j.is_number());
CHECK(not j.is_number_integer());
CHECK(j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
...@@ -1412,6 +1426,8 @@ TEST_CASE("object inspection") ...@@ -1412,6 +1426,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null()); CHECK(not j.is_null());
CHECK(not j.is_boolean()); CHECK(not j.is_boolean());
CHECK(not j.is_number()); CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object()); CHECK(not j.is_object());
CHECK(not j.is_array()); CHECK(not j.is_array());
CHECK(not j.is_string()); CHECK(not j.is_string());
......
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