Skip to content

Commit

Permalink
closes #90
Browse files Browse the repository at this point in the history
  • Loading branch information
nlohmann committed Jun 15, 2015
1 parent 1375162 commit 8e9a711
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,18 @@ class basic_json
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
bool is_object() const noexcept
{
Expand Down
12 changes: 12 additions & 0 deletions src/json.hpp.re2c
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,18 @@ class basic_json
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
bool is_object() const noexcept
{
Expand Down
16 changes: 16 additions & 0 deletions test/unit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1328,6 +1328,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(j.is_object());
CHECK(not j.is_array());
CHECK(not j.is_string());
Expand All @@ -1340,6 +1342,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
CHECK(not j.is_number());
CHECK(not j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object());
CHECK(j.is_array());
CHECK(not j.is_string());
Expand All @@ -1352,6 +1356,8 @@ TEST_CASE("object inspection")
CHECK(j.is_null());
CHECK(not j.is_boolean());
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_array());
CHECK(not j.is_string());
Expand All @@ -1364,6 +1370,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(j.is_boolean());
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_array());
CHECK(not j.is_string());
Expand All @@ -1376,6 +1384,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
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_array());
CHECK(j.is_string());
Expand All @@ -1388,6 +1398,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
CHECK(j.is_number());
CHECK(j.is_number_integer());
CHECK(not j.is_number_float());
CHECK(not j.is_object());
CHECK(not j.is_array());
CHECK(not j.is_string());
Expand All @@ -1400,6 +1412,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
CHECK(j.is_number());
CHECK(not j.is_number_integer());
CHECK(j.is_number_float());
CHECK(not j.is_object());
CHECK(not j.is_array());
CHECK(not j.is_string());
Expand All @@ -1412,6 +1426,8 @@ TEST_CASE("object inspection")
CHECK(not j.is_null());
CHECK(not j.is_boolean());
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_array());
CHECK(not j.is_string());
Expand Down

0 comments on commit 8e9a711

Please sign in to comment.