Commit Graph

51 Commits

Author SHA1 Message Date
Mark Gillard
cc1962eac7 fixed keys with \n round-tripping incorrectly 2023-10-10 17:21:03 +03:00
Mark Gillard
be30d11245 fixed keys containing \t formatting incorrectly 2023-10-09 19:41:18 +03:00
Mark Gillard
941341fce6 improved support for using enums with value_or() 2023-09-25 18:50:34 +03:00
Mark Gillard
42a428f8ea fixed FLT_RADIX check getting broken by MKL
fixes #202
2023-09-11 15:20:17 +03:00
Mark Gillard
d46cac705a fixed #197
also:
- fixed `noexcept(...)` sometimes being incorrectly derived on `for_each()
- refactors
2023-09-05 13:53:23 +03:00
Mark Gillard
882d9d1c34 fixed gnu symbol visibility for static lib builds (fixes #201)
also:
- renamed header files to .hpp
- updated conformance tests
- minor documentation fixes
2023-08-26 17:41:29 +03:00
Mark Gillard
e6d1958f92 fixed compiler error when using NVCC
fixes #198
2023-05-18 12:02:56 +03:00
Mark Gillard
2414d904a8 fixed value_flags not preserved during insertion (#108)
also:
- fixed `toml::value::flags()` not being cleared when `std::move`-ing a value
- fixed #195
2023-04-03 19:34:39 +03:00
Mark Gillard
8f31ec8aed fixed #187
also:
- fixed #188
- fixed #189
- updated conformance tests
- version bump
2023-01-29 17:49:41 +02:00
Mark Gillard
2b770b19cc build system overhaul
Fixes #185
Fixes #186
2023-01-22 22:02:20 +02:00
Mark Gillard
0a90913abf added TOML_ENABLE_FLOAT16 config to fix #178 2022-11-15 21:38:28 +02:00
Mark Gillard
b081c3505d added toml::format_flags::terse_key_value_pairs 2022-11-09 22:33:44 +02:00
Mark Gillard
cc741c9f5f fixed toml::parse_file() on windows for non-ASCII paths
see: https://github.com/PrismLauncher/PrismLauncher/issues/226
2022-11-05 16:21:48 +02: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
Andrea Pappacoda
8aa5c8b2a4
docs: fix some Markdown issues (#174)
This small patch fixes some minor Markdown issues in the README and
CONTRIBUTING files:

- Add a blank line before and after block elements like lists and code
  blocks. This specified in the [original Markdown syntax] document,
  and can also create some issues with some parsers (see [MD32]).
- Add a blank line around headings, for the same reasons as above.
- Only use one top-level (H1) heading per document.
- Always specify a language in fenced code blocks, so that plugins like
  highlight.js can correctly highlight them
- Remove unused links from the bottom of README.md.

[original Markdown syntax]: https://daringfireball.net/projects/markdown/syntax
[MD32]: https://github.com/DavidAnson/markdownlint/blob/v0.26.2/doc/Rules.md#md032
2022-09-25 01:49:34 +10:00
Mark Gillard
7876c96aae fixed parser null deref when exceptions are disabled
closes #169
2022-08-31 14:49:23 +03:00
Mark Gillard
4b166b69f2 v3.2.0 2022-08-30 00:04:04 +03:00
Mark Gillard
cc3c6606f8 documentation + CI updates 2022-08-14 16:43:19 +03:00
Mark Gillard
67c18a3251 fixed spurious Wnull-dereference warning on GCC
closes #164
2022-08-08 23:41:32 +03:00
Mark Gillard
b6fa7e1891 arm fixes
- disambiguated `print_to_stream()` for ints (fixes #167)
- relaxed mantissa and digits10 requirements of extended floats
2022-08-03 00:16:04 +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
3f4acc7c32 additonal path work
- re-ordered most of the `.inl` implementations to match the declaration order in the class body
- fixed a few missing cases of `noexcept`
- added additional operator overloads for +=
- added `operator==` and `operator!=` to `path_component`
- changed parse method to "parse into" so it could be re-used in more places without creating a temporary vector
- changed all binary operators to be 'hidden friends'
- moved the "to string" logic to a "print_to" for streams to avoid creating a temporary string in the ostream<< operator
- made the string conversion operators `explicit`
- renamed `string()` to `str()` to be consistent with `toml::key` and `std::stringstream`
- renamed `wstring()` to `wide_str()` to be consistent with `toml::source_region`
- renamed `parent_path()` to `parent()`
- removed the `const (w)char*` operator overloads - these were already sufficiently covered by the `std::(w)string_view` ones
- removed the `operator/` overloads - since we aren't a file path the `/` doesn't have the same meaning (also `operator+` was doing the same thing)
2022-06-05 00:14:50 +03:00
Mark Gillard
f4c2749179 Merge branch 'master' into paths 2022-06-04 16:50:20 +03:00
Tristan Jones
65d4b84710
Path (#156) 2022-06-04 16:49:26 +03:00
Mark Gillard
6126437d6c relaxed cvref requirements of some functions
also:
- added additional conformance test (toml/issues/908)
- added gitter badge image to docs/images
2022-05-31 14:02:01 +03:00
Mark Gillard
39b80f6c56 fixed table source columns being off by one
closes #152

also other minor refactors
2022-05-14 15:22:21 +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
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
Mark Gillard
af637f7e89 Updated support for unicode in bare keys
Now matches toml/pull/891.
2022-04-23 12:58:15 +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
5e6008329f refactor: deprecate TOML_API, add more specific defines 2022-02-12 22:04:16 +02:00
Mark Gillard
8e669aa699 release v3.0.1 2022-01-13 12:09:07 +02:00
Mark Gillard
0388589810 fixed erroneous use of TOML_API causing ODR issue (closes #136) 2022-01-13 00:36:43 +02:00
Mark Gillard
d33da0c7a1 release v3.0.0 2022-01-11 18:22:31 +02:00
Mark Gillard
e37e6d2bce fixed treating non-ASCII horizontal whitespace as valid (closes #135)
also:
- added `parse_result::at_path()`
2022-01-09 13:01:56 +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
47241d003e fixed permissive acceptance of incomplete CRLF at EOF (closes #132)) 2022-01-05 18:10:50 +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
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
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
32df34add2 added prune() to table and array 2021-11-12 20:21:02 +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
76e681da4d added array::at() and table::at() 2021-11-07 21:25:42 +02:00