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
36030cace8
build(meson): use system deps when avalable
...
When building tests, Meson will now look for system dependencies and use
them if found. Otherwise, it will check if the submodules are cloned and
create a dependency object wrapping the include path of each external
dependency (this breaks Meson's sandbox, but the previous approach did
too). This also allows passing actual dependencies to the various build
targets instead of include paths (a bit more idiomatic).
I've also made it possible to skip the tl-optional tests when the lib is
not found, so that it is still possible to run tests even from a
tarball (i.e. no git checkout)
2022-02-17 22:45:07 +02:00
Andrea Pappacoda
7306fd2ae5
ci(windows): don't use a container
...
Windows containers in GitHub Actions are simply bad. While it is
possible to use them, it is a horrible hack with terrible usability.
It was a fun experiment, but I don't want anybody to maintain this mess,
especially when you can use a normal Windows image (less cool, bloated,
but well supported).
2022-02-17 22:45:07 +02:00
Andrea Pappacoda
a35c7bc631
ci: switch to GitHub Actions
2022-02-12 22:04:16 +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
Andrea Pappacoda
4bd9bda09f
build(meson): install CMake Config files to datadir ( #141 )
...
* build(meson): install CMake Config files to datadir
Since Meson doesn't yet support CMake's ARCH_INDEPENDENT option, a
pre-generated Package Version file is installed instead of generating it
at configure time.
I've also cleaned up a bit the nearby lines of code.
Fixes #140
* build(meson): don't hardcode include in CMake Config
2022-02-02 16:01:52 +02:00
Mark Gillard
8e669aa699
release v3.0.1
2022-01-13 12:09:07 +02:00
Mark Gillard
71b57a3238
added regression test to detect ODR violations
2022-01-13 01:24:09 +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
5c5abfd8e9
Merge branch 'v3'
2022-01-11 18:23:04 +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
f6ce95907e
fixed integer overflow issues introduced in 3f4a540
...
closes #134
2022-01-08 15:17:12 +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
20d3c13234
updated github templates [skip ci]
2022-01-05 12:49:01 +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
6d381b698f
Merge branch 'master' into v3
2022-01-02 21:35:50 +02:00
Mark Gillard
d9473b85da
updated conformance tests
2022-01-02 21:35:26 +02:00
Mabi19
5aec8a3abe
Update docs ( #126 )
...
Since toml++ is now a wrap, update the docs accordingly.
2021-12-29 19:45:29 +02:00
Mark Gillard
3a22b7c237
fixed false-positive warning on clang 13
...
also:
- updated conformance tests
- CI config tweaks
2021-12-12 15:01:35 +02:00
Robin Sommer
e557e41b05
Fix memory leak ( #124 )
...
Fix leak occuring when parsing of a value throws an exception.
2021-12-04 10:21:19 +02:00
Mark Gillard
2d1f6257ca
fix for internal over-aligned types on apple clang
...
they made their compiler a walled-garden too?? fucking assholes
2021-11-25 22:41:56 +02:00
Mark Gillard
ad4ae98af0
added ASan to CI ( closes #123 )
...
also:
- made all wrapped array and table iterator internal conversions explicit
- minor example code refactoring
2021-11-25 20:20:22 +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
64dd1dbac5
refactoring
2021-11-11 17:54:40 +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
9783a94ed4
minor cleanup
2021-11-07 22:33:02 +02:00
Mark Gillard
76e681da4d
added array::at()
and table::at()
2021-11-07 21:25:42 +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
ff6f184d30
added parse_benchmark
example
...
also:
- internal parser refactoring
2021-11-04 11:56:03 +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
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
f2fe57d21f
fixed inf
and nan
being formatted incorrectly by the json_formatter
...
also:
- added `formatter_flags::quote_infinities_and_nans`
- made constructors for dates/times accept any integral types
- lots of internal work on formatter base (laying groundwork for more customization)
2021-10-29 23:59:53 +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
1bf09fe500
added value flags to array + table insert methods ( closes #44 )
...
also:
- made single header generation script `#pragma once`-aware
2021-10-29 12:59:59 +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