overworked code for pull request #71

This commit is contained in:
Niels 2015-05-09 15:29:20 +02:00
parent aca3f65bbe
commit 9cdd278f45
3 changed files with 20 additions and 3 deletions

View file

@ -419,8 +419,8 @@ class basic_json
{} {}
/// create an int number to support enum type (implicit) /// create an int number to support enum type (implicit)
inline basic_json(int int_enum) inline basic_json(const int int_enum)
: m_type(value_t::number_integer), m_value((NumberIntegerType)int_enum) : m_type(value_t::number_integer), m_value(static_cast<number_integer_t>(int_enum))
{} {}
/// create an integer number (implicit) /// create an integer number (implicit)

View file

@ -418,6 +418,11 @@ class basic_json
: m_type(value_t::number_integer), m_value(value) : m_type(value_t::number_integer), m_value(value)
{} {}
/// create an int number to support enum type (implicit)
inline basic_json(const int int_enum)
: m_type(value_t::number_integer), m_value(static_cast<number_integer_t>(int_enum))
{}
/// create an integer number (implicit) /// create an integer number (implicit)
template<typename T, typename template<typename T, typename
std::enable_if< std::enable_if<

View file

@ -8529,4 +8529,16 @@ TEST_CASE("regression tests")
CHECK(json(json::number_float_t(INFINITY)) == json()); CHECK(json(json::number_float_t(INFINITY)) == json());
} }
} }
SECTION("pull request #71 - handle enum type")
{
enum { t = 0 };
json j = json::array();
j.push_back(t);
j.push_back(json::object(
{
{"game_type", t}
}));
}
} }