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
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
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
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
d9473b85da
updated conformance tests
2022-01-02 21:35:26 +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
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
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
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
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
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
Andrea Pappacoda
73870cef54
build(meson): general improvements and fixes ( #115 )
...
Use the / operator instead of join_paths
Use the / operator instead of using "/" in string paths
Use the includedir opt instead of hardcoding "include" in install_subdir
Remove discouraged layout=flat option (mesonbuild/meson#9243 )
Remove unneeded Wextra, Wpedantic flags, already added by warning_level
Remove manual -Oz flag when using Clang (mesonbuild/meson#9286 )
Make use of : in kwargs consistent
2021-09-22 09:47:15 +03:00
Mark Gillard
9aa7cd8218
updated conformance tests (see #113 )
...
also removed the 'modern C++' meme text from various places
2021-09-07 20:02:00 +03:00
Mark Gillard
f3896b7474
fixed an illegal table redefinition edge case ( closes #112 )
...
also:
- fixed incorrect source position in redefinition error messages
- updated conformance tests
2021-09-04 14:52:28 +03:00
Mark Gillard
4f21332bdd
allow lowercase 't' and 'z' in datetimes (per spec)
...
also:
- updated conformance tests
2021-07-04 13:58:33 +03:00
Mark Gillard
ba754462b8
fixed linkage error with windows compat mode
...
also:
- updated conformance tests
2021-06-24 21:08:45 +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
1baad21734
removed <fstream>
requirement for parse_file
...
also:
- fixed false-positive char_8 support detection on older compilers
- removed extraneous `TOML_API` declarations
2021-05-19 14:36:25 +03:00
Mark Gillard
a29ecda102
fix crash with pathologically-nested inputs ( closes #100 )
...
also:
- fixed parse_result natvis
- added parse_result default constructor
- added nested value limit example to error printer
2021-05-18 01:39:01 +03:00
Mark Gillard
dca69453f6
building warning-clean on VS 16.10.0 pre3
...
also:
- made tests build with /Wall on MSVC
- fixed minor documentation error
2021-05-12 00:48:53 +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
Mark Gillard
b11f28af78
fixed dotted kvps being unable to add subtables ( fixes #61 )
...
also:
- fixed extremely weird linker error on linux ICC (fixes #83 )
- added some missing GNU attributes
- added additional tests
2021-01-16 12:59:10 +02:00
Mark Gillard
9be51e440a
fixed missing blank lines between consecutive empty tables/A-o-T
...
also:
- added additional value() testsfor inf/nan
- added additional formatting tests
2021-01-07 12:06:26 +02:00
Mark Gillard
1ef6c0c6c8
update copyright year [skip ci]
2021-01-02 17:48:47 +02:00
Mark Gillard
bd1545a2f6
fixed compile failure on apple clang
...
also:
- updated conformance tests
- updated submodules
- updated windows test targets
2020-12-19 13:27:22 +02:00
Björn Schäpers
05f8b1f1cc
Make iterators real iterators ( #77 )
...
They were missing the iterator_category and thus could not be used with
some standard algorithms.
2020-12-18 18:08:15 +02:00
Mark Gillard
ea064da16d
fixed useless cast warning on GCC10
...
also:
- removed 'evil macros' test file
- updated github templates
2020-12-15 13:39:58 +02:00