minor changes
This commit is contained in:
parent
0b8dda1e0c
commit
15a9d3cff6
3 changed files with 13 additions and 11 deletions
|
@ -8,9 +8,9 @@
|
||||||
|
|
||||||
There are myriads of [JSON](http://json.org) libraries out there, and each may even have its reason to exist. Our class had these design goals:
|
There are myriads of [JSON](http://json.org) libraries out there, and each may even have its reason to exist. Our class had these design goals:
|
||||||
|
|
||||||
- **Trivial integration**. Our whole code consists of just two files: A header file `JSON.h` and a source file `JSON.cc`. That's it. No library, no subproject, no dependencies. The class is written in vanilla C++11. All in all, the class should require no adjustment of your compiler flags or project settings.
|
- **Trivial integration**. Our whole code consists of a class in just two files: A header file `JSON.h` and a source file `JSON.cc`. That's it. No library, no subproject, no dependencies. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.
|
||||||
|
|
||||||
- **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of C++ to achieve the same feeling in your code. Check out the [examples below](#examples) and you know, what I mean.
|
- **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the [examples below](#examples) and the [reference](https://github.com/nlohmann/json/blob/master/Reference.md), and you know, what I mean.
|
||||||
|
|
||||||
- **Serious testing**. Our library is heavily unit-tested and covers [100%](https://coveralls.io/r/nlohmann/json) of the code, including all exceptional behavior. Furthermore, we use [Valgrind](http://valgrind.org) to make sure no memory leaks exist.
|
- **Serious testing**. Our library is heavily unit-tested and covers [100%](https://coveralls.io/r/nlohmann/json) of the code, including all exceptional behavior. Furthermore, we use [Valgrind](http://valgrind.org) to make sure no memory leaks exist.
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ int vi = jn.get<int>();
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
<img style="float: right" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png">
|
<img align="right" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png">
|
||||||
|
|
||||||
The library is licensed under the [MIT License](http://opensource.org/licenses/MIT):
|
The library is licensed under the [MIT License](http://opensource.org/licenses/MIT):
|
||||||
|
|
||||||
|
|
12
src/JSON.cc
12
src/JSON.cc
|
@ -146,8 +146,6 @@ as is to create an array.
|
||||||
|
|
||||||
@bug With the described approach, we would fail to recognize an array whose
|
@bug With the described approach, we would fail to recognize an array whose
|
||||||
first element is again an arrays as array.
|
first element is again an arrays as array.
|
||||||
|
|
||||||
@todo Create test case for described bug.
|
|
||||||
*/
|
*/
|
||||||
JSON::JSON(list_init_t a) noexcept
|
JSON::JSON(list_init_t a) noexcept
|
||||||
{
|
{
|
||||||
|
@ -598,7 +596,7 @@ JSON& JSON::operator+=(double f)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@todo comment me; test me
|
@todo comment me
|
||||||
*/
|
*/
|
||||||
JSON& JSON::operator+=(const object_t::value_type& p)
|
JSON& JSON::operator+=(const object_t::value_type& p)
|
||||||
{
|
{
|
||||||
|
@ -606,7 +604,7 @@ JSON& JSON::operator+=(const object_t::value_type& p)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@todo comment me; test me
|
@todo comment me
|
||||||
*/
|
*/
|
||||||
JSON& JSON::operator+=(list_init_t a)
|
JSON& JSON::operator+=(list_init_t a)
|
||||||
{
|
{
|
||||||
|
@ -731,7 +729,7 @@ void JSON::push_back(double f)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@todo comment me; test me
|
@todo comment me
|
||||||
*/
|
*/
|
||||||
void JSON::push_back(const object_t::value_type& p)
|
void JSON::push_back(const object_t::value_type& p)
|
||||||
{
|
{
|
||||||
|
@ -739,7 +737,7 @@ void JSON::push_back(const object_t::value_type& p)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@todo comment me; test me
|
@todo comment me
|
||||||
*/
|
*/
|
||||||
void JSON::push_back(list_init_t a)
|
void JSON::push_back(list_init_t a)
|
||||||
{
|
{
|
||||||
|
@ -1119,8 +1117,6 @@ Removes all elements from compounds and resets values to default.
|
||||||
@invariant Clear will set any value type to its default value which is empty
|
@invariant Clear will set any value type to its default value which is empty
|
||||||
for compounds, false for booleans, 0 for integer numbers, and 0.0
|
for compounds, false for booleans, 0 for integer numbers, and 0.0
|
||||||
for floating numbers.
|
for floating numbers.
|
||||||
|
|
||||||
@todo Test me.
|
|
||||||
*/
|
*/
|
||||||
void JSON::clear() noexcept
|
void JSON::clear() noexcept
|
||||||
{
|
{
|
||||||
|
|
|
@ -281,6 +281,12 @@ TEST_CASE("array")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// edge case: This should be an array with two elements which are in
|
||||||
|
// turn arrays with two strings. However, this is treated like the
|
||||||
|
// initializer list of an object.
|
||||||
|
JSON j_should_be_an_array = { {"foo", "bar"}, {"baz", "bat"} };
|
||||||
|
CHECK(j_should_be_an_array.type() == JSON::value_type::object);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue