also:
- significantly improved the performance of toml::parse_file
- improved the performance of printing to streams for deepy-nested TOML data
- simplified some of the examples
- added more tests
- cleaned up some of the test code
Mainly to simplify a the error handling code (it had gotten a bit verbose), but also to reduce compiled binary sizes.
also:
- moved windows terminal code page stuff in examples to a separate file
also:
- fixed printing bug in operator << for source_position
- improved quality of error messages for boolean and inf/nan parsing
- documentation fixes
also:
- fixed truncation of floating-point values when using ostreams
- fixed some minor documentation issues (fixes#8)
- fixed missing value deduction guides for dates and times
- added serialization round-trip tests (closes#9)
- added node::is_number()
- added node_view::is_number()
- added node_view::value_or() (closes#7)
- added hexfloat parsing support for all implementations, not just <charconv> ones
also:
- merged all the separate integer parsing functions
- renamed the member functions of parse_error for clarity
- added the beginnings of a doxygen pipeline
also:
- added `toml_version.h`
- added version number to toml.hpp
- added `node::visit()`
- added `table::empty()`
- added `array::empty()`
- added version number to `toml.hpp`
- added ostream operator overload for `source_position`
- added tests for string escape sequences
- added tests for + in bare keys (toml/issues/687)
- added tests for hexfloat literals (toml/issues/562)
- added c++20 char8_t detection to meson
- moved third party submodules to `/extern`
- refactored noexcept version of `parse_result` to be more useful
- refactored all code to 'mostly' stick to a 120 column limit
- fixed some minor stuff picked up by gcc9