Commit Graph

31 Commits

Author SHA1 Message Date
Mark Gillard
0058d68bbc added node::operator[] for toml::path
also:
- added missing relational operators for `source_position`
- TOML_CHARCONV cleanup (was too keen)
- minor refactors
2022-06-06 23:46:04 +03:00
Tristan Jones
65d4b84710
Path (#156) 2022-06-04 16:49:26 +03:00
Mark Gillard
5eec04b951 added value type deduction to emplace() methods
also:
- minor CI work
2022-05-09 00:33:43 +03:00
Mark Gillard
e47ef8cfb2 removed git submodules to fix various tooling issues (closes #151)
- removed submodules in `external/`
- vendored `Catch2` and `nlohmann/json directly`
- updated conformance test generator to look outside the repo for test sources
2022-05-01 12:20:03 +03:00
Mark Gillard
6e7942788d minor refactor 2022-04-18 12:27:54 +03:00
Mark Gillard
1c26ce1dcf fixed UB in internal unicode machinery (closes #144)
also:
- updated conformance tests
- added ubsan options to meson.build
2022-02-26 18:07:11 +02:00
Andrea Pappacoda
029160c280 build(meson): add compile_library option 2022-02-12 22:04:16 +02:00
Andrea Pappacoda
5e6008329f refactor: deprecate TOML_API, add more specific defines 2022-02-12 22:04:16 +02:00
Mark Gillard
3f4a540ca6 fixed inconsistent error messages for overlong ints/floats (closes #133)
also:
- added `at_path()` (closes #118)
- added `node_view::operator==`
- updated conformance tests
2022-01-08 00:08:31 +02:00
Mark Gillard
de2413e0ef fixed date parsing when the year has a leading zero (closes #130)
also:
- fixed omitting value part from hex/bin/oct being accepted without error (closes #129)
- added spec bug github template
2022-01-05 12:45:59 +02:00
Mark Gillard
b41e12f736 fixed incorrect unicode scalar sequence transformations (#125)
also:
- fixed extended-precision fractional times causing parse error instead of truncating per the spec (closes #127)
- fixed some non-spec vertical whitespace being accepted as line breaks (closes #128)
- added `format_flags::allow_unicode_strings`
2022-01-04 23:58:22 +02:00
Mark Gillard
209e9b6faa added toml::key (closes #82)
also:
- added `table::lower_bound()`
- added `table::emplace_hint()`
- changed `table` key type to `toml::key`
- clarified value initializer static assert messages
- lots of misc refactoring
2021-11-10 22:07:05 +02:00
Mark Gillard
6808825d3f parser performance improvements
also:
- updated msvc toolsets
- minor documentation updates
2021-11-09 13:08:36 +02:00
Mark Gillard
5e2ddc16c8 added clang's enum annotation attributes to all enums
also:
- added `CHANGELOG.md`
2021-11-07 16:36:31 +02:00
Mark Gillard
16d7ba8480 big parser + utf8 handling refactor 2021-11-05 00:43:42 +02:00
Mark Gillard
f94de96928 fixed missing #include <utility>
also:
- added test for `yaml_formatter`
- formatter refactoring + cleanup
- documentation fixes
2021-11-03 19:11:55 +02:00
Mark Gillard
7b50df796f added toml::yaml_formatter
also:
- fixed parser not correctly round-tripping int format in some cases
- added `TOML_ENABLE_FORMATTERS` option
- added `operator->` to `toml::value`
- refactoring
2021-11-03 12:18:53 +02:00
Mark Gillard
87d6c7eef1 renamed default_formatter to toml_formatter
also:
- renamed `TOML_PARSER` option to `TOML_ENABLE_PARSER`
- added `TOML_ENABLE_TOML_FORMATTER` option
- added `TOML_ENABLE_JSON_FORMATTER` option
- added `default_init_flags` param to `array::resize()`
2021-10-30 15:56:14 +03:00
Mark Gillard
97132cb27c added preserve_source_value_flags
also:
- fixed natvis file for v3 namespace
- small refactors
2021-10-29 16:28:04 +03:00
Mark Gillard
467ade4efc fixed issues with dllexport + extern templates 2021-10-27 19:48:45 +03:00
Mark Gillard
bd9944a31a removed double-bracket requirement for toml::table constructor
also:
- fixed incorrect `noexcept` specifications on many functions
- fixed missing `#include <initializer_list>`
- removed unnecessary uses of `final`
2021-10-26 23:53:27 +03:00
Mark Gillard
7da912c45e fixed incorrect clang+GCC flag in meson build script
also:
- renamed `_impl.h` files to `*.inl`
- simplified warning + namespace management boilerplate
- applied clang-format to examples
- bumped minimum required meson version to `0.54.0`
2021-10-26 00:53:57 +03:00
Mark Gillard
516b8e2096 greatly simplified project header structure
also:
- removed `TOML_LARGE_FILES`
- removed unnecessary template machinery (esp. where ostreams were involved)
- made all overloaded operators 'hidden friends'
- documentation fixes
- version bump - this will form the foundation of v3
2021-10-25 01:04:23 +03:00
Mark Gillard
0f589ceba8 added header bookend includes 2021-10-24 13:21:32 +03:00
Mark Gillard
ca76e5d571 project-wide refactoring
- moved implementation-only headers to `/impl`
- replaced `[[nodiscard]]` with `TOML_NODISCARD`
- added `.clang-format` + applied to all files

also:
- added support for Unicode 14.0
- fixed minor documentation issues
- version bump (pre-emptive for next release)
2021-10-23 18:20:49 +03:00
Mark Gillard
037bfdd21f release v2.5.0 2021-08-11 18:42:00 +03:00
Mark Gillard
6135deb6a3 added additional metafunctions
also:
- reduced bloat by removing unnecessary std::forwards and std::moves
- minor cleanup of example code
2021-05-21 14:28:45 +03:00
Mark Gillard
9c59810084 minor config fixes [skip ci] 2021-05-19 23:22:43 +03:00
Mark Gillard
c4e00f9a56 fix conflict with Windows.h (closes #99) 2021-05-14 15:47:35 +03:00
Mark Gillard
0fcbfbe655 fixed segfault JSON-formatting a failed parse_result (closes #96)
also:
- fixed config error in example `.vcxproj` files
- fixed spurious newline after JSON formatting a table
- fixed VS intellisense not detecting TOML_COMPILER_EXCEPTIONS correctly
- moved `parse_result` to a separate header
- made more internal macros require semicolons
- removed some old deprecations
- minor documentation fixes
2021-05-06 14:28:29 +03:00
Mark Gillard
53f29d9365 restructuring and minor refactoring
There's no new functionality here. It's purely tooling + CI stuff:
- moved `python` => `tools`
- moved documentation images to subfolder
- moved `vs/tests` to tests/vs projects
- moved `vs` solution etc to root
- added semicolons to macros
- added cpp.hint to help VS intellisense
- migrated documentation generation to external lib
2021-04-18 22:58:41 +03:00