Release 0.97
0.97 Release (replaces 0.96)
- Reversion of 0.96 change:
The virtual methods do_float_value
, do_integer_value
, and do_unsigned_value
of json_input_handler
and json_outputhandler
have been restored to do_double_value
, do_longlong_value
and do_ulonglong_value
, and their typedefed parameter types float_type
, integer_type
, and unsigned_type
have been restored to double
, long long
, and unsigned long long
.
The rationale for this reversion is that the change doesn't really help to make the software more flexible, and that it's better to leave out the typedefs. There will be future enhancements to support greater numeric precision, but these will not affect the current method signatures.
- Fix for "unused variable" warning message
Retains these features from 0.96:
Breaking changes:
- Renamed
error_handler
toparse_error_handler
. - Renamed namespace
json_parser_error
tojson_parser_errc
- Renamed
value_adapter
tojson_type_traits
, if you have implemented your own type specializations,
you will have to renamevalue_adapter
also. - Only json arrays now support
operator[](size_t)
to loop over values, this is no longer supported forjson
objects. Use a json object iterator instead.
General changes
json
member functionbegin_object
now returns a bidirectional iterator rather than a random access iterator.- Static singleton
instance
methods have been added todefault_parse_error_handler
andempty_json_input_handler
. - Added to the
json
class overloaded static methods parse, parse_string
and parse_file that take aparse_error_handler
as a parameter. - Added methods
last_char()
andeof()
toparsing_context
. - Enhancements to json parsing and json parse event error notification.
- Added to
json_input_handler
andjson_output_handler
a non virtual methodvalue
that takes a null terminated string.
Bug fixes:
- Fixed issue with column number reported by json_reader
- Where &s[0] and s.length() were passed to methods, &s[0] has been replaced with s.c_str().
While this shouldn't be an issue on most implementations, VS throws an exception in debug mode when the string has length zero. - Fixes two issues in 0.95 reported by Alex Merry that caused errors with GCC: a superfluous typename has been removed in csv_serializer.hpp, and a JSONCONS_NOEXCEPT specifier has been added to the json_parser_category_impl name method.
- Fixed a number of typename issues in the 0.96 candidate identifed by Ignatov Serguei.
- Fixes issues with testsuite cmake and scons reported by Alex Merry and Ignatov Serguei