Commit Graph

37 Commits

Author SHA1 Message Date
Mark Gillard
0a90913abf added TOML_ENABLE_FLOAT16 config to fix #178 2022-11-15 21:38:28 +02:00
Mark Gillard
1e4a3833d0 "But who warns the warnings?" 2022-10-18 14:04:50 +03:00
Mark Gillard
c8780a5b8e fixed some _Float16 detection issues
also:
- fixed a few minor issues with tests
- removed `__fp16` support (it was always broken)
2022-10-17 20:08:26 +03:00
Mark Gillard
698ee0ecd1 fixes for latest MSVC
also:
- minor doc tweaks
2022-10-14 13:18:24 +03:00
Björn Schäpers
c6deadf61d Suppress -Wduplicated-branches (#171)
Solves:
tomlplusplus/include/toml++/impl/path.h:29:73: warning: this condition has identical branches [-Wduplicated-branches]
   29 |                                 (alignof(size_t) < alignof(std::string) ? alignof(std::string) : alignof(size_t));
2022-09-12 14:25:42 +05:30
Mark Gillard
67c18a3251 fixed spurious Wnull-dereference warning on GCC
closes #164
2022-08-08 23:41:32 +03:00
Mark Gillard
501a80e231 preprocessor + CI cleanup
also:
- minor refactors in path
- updated conformance tests
2022-07-31 18:34:53 +03:00
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
Mark Gillard
0f5d986df1 added TOML_CALLCONV config option 2022-06-06 12:21:46 +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
25058a070a minor documentation updates 2022-04-25 19:41:36 +03:00
Mark Gillard
bf13bbd42e added for_each() for tables and arrays
also:
- refactoring
- documentation fixes
- updated conformance tests
- made submodules shallow
2022-04-24 21:02:55 +03:00
Mark Gillard
db04ac8918 added tests for visit()
Also some minor refactors.
2022-04-23 17:28:25 +03:00
Ivan Shynkarenka
31cf6efbb9 clang 10.0: error: unknown warning group '-Wsuggest-destructor-override' #145 (#146)
Co-authored-by: Ivan Shynkarenka <Ivan_Shynkarenka@epam.com>
2022-03-14 12:21:36 +02: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
cdf85a9b60 added toml::format_flags::relaxed_float_precision 2022-01-08 16:32:06 +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
7d3770df92 fixed inline tables being mutable through table headers (closes #131) 2022-01-05 16:56:08 +02:00
Mark Gillard
f3bd22bff4 fixed some incorrect handling of vertical whitespace when printing TOML to streams
also:
- added `date_time` converting constructors from `date` and `time`
- added `is_key<>` and is_key_or_convertible<>` metafunctions
- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios
- added encoder and decoder for `toml-test` (closes #125)
2022-01-03 21:01:32 +02:00
Mark Gillard
307ebd1f47 refactoring 2021-11-15 09:06:03 +02:00
Mark Gillard
9066ac7d01 fixed strong exception guarantee edge-cases
also:
- added `value` copy+move constructor overloads with flags override
`table::ref()` now supports explicit ref categories and cv-qualifiers
2021-11-14 19:24:19 +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
aa645dd88c added array::replace() (closes #109)
also:
- minor parser cleanup
- updated conformance tests
- documentation fixes
2021-11-06 18:59:47 +02:00
Mark Gillard
16d7ba8480 big parser + utf8 handling refactor 2021-11-05 00:43:42 +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
0ffd23d73f removed final from value, array and table
also:
- renamed `TOML_WINDOWS_COMPAT` to `TOML_ENABLE_WINDOWS_COMPAT`
- renamed `TOML_UNRELEASED_FEATURES` to `TOML_ENABLE_UNRELEASED_FEATURES`
- added additional tests
- fixed minor documentation issues
2021-10-31 17:58:42 +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
467ade4efc fixed issues with dllexport + extern templates 2021-10-27 19:48:45 +03:00
Mark Gillard
18dfcf2314 added formatter indentation flags (closes #120)
also:
- minor refactoring (esp. GNU attributes)
- added documentation about formatters being free to ignore flags where necessary
2021-10-27 16:10:57 +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
dbc078202d removed internal operator""_sz (ADL is a cruel mistress)
also:
- applied clang-format to tests
- added some missing `TOML_API`
2021-10-26 16:49:23 +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