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
Mark Gillard
44c7da27d6
fixed toml::literals namespace ambiguity ( closes #69 )
2020-10-22 16:25:26 +03:00
Mark Gillard
5f3e01f71c
fixed array iterator conversion error ( closes #67 )
...
also removed superfluous newline when print ing a table (closes #68 )
2020-10-22 14:34:01 +03:00
Mark Gillard
30b756f993
fixed parser not handling overlong float literals correctly
...
also a few other edge cases (see #65 )
2020-10-10 11:45:53 +03:00
Mark Gillard
33f7d732a1
fixed issue handling malformed utf-8
2020-10-10 00:30:12 +03:00
Mark Gillard
6255dd765c
fixed issue handling malformed utf-8 at EOF ( closes #65 )
2020-10-09 23:49:06 +03:00
Mark Gillard
fe0ac89500
fixed parser memory leak ( fixes #64 )
...
also:
- build/infra improvements
- updated submodules
- updated conformance tests
- misc code review/refactors
- library version bump
- TOML version bump
2020-10-09 11:44:40 +03:00
rezahousseini
aca6327cd8
Rename Windows.h to windows.h for mingw-w64 ( #63 )
...
Co-authored-by: Reza Housseini <reza.housseini@mecos.com>
2020-09-30 16:14:25 +03:00
Mark Gillard
1381240e10
meson refactoring
...
- renamed options to `snake_case`
- tests, examples and cmake config now explicitly disabled when used as a subproject
- removed small_binaries (it's now implicit when building as release)
- added minimum meson version 0.53
2020-09-05 13:26:12 +03:00
Mark Gillard
81d74663e8
fixed _Float16 erroneously supported on g++ ( closes #57 )
2020-09-01 14:47:21 +03:00
Mark Gillard
40d87de5b5
cleaned up some compiler warning management spam
...
also:
- removed `std::endl` from example code in documentation
- trimmed some fat from the toml.hpp generator
2020-08-11 18:07:02 +03:00
Mark Gillard
2ac735054a
updated TOML version to v1.0.0-rc.2
...
also:
- simplified warning handling macros
- minor version bump
2020-08-09 12:32:17 +03:00
Mark Gillard
ad6be8e51e
minor cleanup
...
mostly for testing on ICC.
2020-08-08 20:51:33 +03:00
Mark Gillard
82616e734c
fix some issues handling infinities and NaNs
...
fixes #51
2020-08-03 09:10:06 +03:00
Mark Gillard
f6450f6ff9
moved is_homogenous to toml::node
...
also:
- added is_homogenous overload for identifying failure-causing element (to assist with implementing #45 )
- added table::is_homogenous
- added value::is_homogenous (just for generic code's sake)
2020-08-02 17:02:10 +03:00
Mark Gillard
b024ee6dc2
added tests for copying and insertion ( closes #49 )
...
also:
- added tests to catch any regressions of pull/50
- moved UTF-8 decoder copyright notice
- cleaned up static assert messages
2020-08-02 12:20:41 +03:00
Mark Gillard
6f7f6c6554
moved the unicode function generator stuff to another repo
...
also:
- updated github templates
2020-08-01 22:37:39 +03:00
Mark Gillard
6b8fa1bef5
fixed source information being copied when copying nodes
...
also:
- many minor documentation fixes
- added pull request template
2020-07-30 23:31:08 +03:00
Mark Gillard
2efb15bf9e
added insert, emplace, push_back etc. compatibility with node_views
...
In service of satisfying #49 .
2020-07-28 01:21:41 +03:00
Mark Gillard
17d1876529
added copy construction/assignment for arrays. tables and values
...
In service of satisfying #49 .
2020-07-27 13:38:01 +03:00
Mark Gillard
539aad89f4
fixed array::insert not working correctly in some cases
...
also:
- improved the documentation for table and array
- fixed documentation font on mobile
2020-07-26 15:03:33 +03:00
Mark Gillard
fd07301bae
improved support for __fp16, _Float16 and __float128
...
also:
- fixed a bunch of doxygen parsing issues
- added `#define` leak detection to the single-header script
- renamed `TOML_ALL_INLINE` to `TOML_HEADER_ONLY` (the old one still works too)
- simplified abi namespace definitions
2020-07-25 20:50:24 +03:00
Mark Gillard
9afa43e7c2
fixed leading/trailing newlines with printing to ostreams ( fixes #48 )
...
also:
- change internal nan constant to match qNaN bits on x86/ARM
2020-07-21 16:11:32 +03:00
Mark Gillard
7314fbf8c2
deprecated parse_result::get() in favour of parse_result::table()
...
also:
- fixed static assert messages being badly formatted on clang
- minor documentation fixes
- updated version numbers
2020-07-20 17:26:36 +03:00
Mark Gillard
ca6f639fb9
fixed narrowing conversion warnings when constructing int values from unsigned
...
also:
- added ability to construct values from wide strings and u8 strings
- added non-template version of array::is_homogeneous()
- added explicit instantiations for more template types when `!TOML_ALL_INLINE`
- cleaned up abi namespaces
- simplified build and test machinery on windows
- removed TOML_CHAR_8_STRINGS since it no longer makes sense
2020-07-20 00:40:55 +03:00
Mark Gillard
cb791fe0ef
expanded allowable conversion semantics of value and value_or
...
also:
- fixed infinity and NaN-related code breaking when using -ffast-math and friends
- added much more detail to many static_assert error messages
- added more test permutations of various compiler flags
- added many more static checks to test code
2020-07-17 16:33:56 +03:00
Mark Gillard
de07ba7187
string value serialization now emits literals where possible ( closes #43 )
...
also added support for wide strings on Windows (closes #42 ):
- added wide-string path arg overloads of `parse()` and `parse_file()`
- added wide-string support to all relevant `table` and `array` ops
- added `std::wstring` support to `node::value()` and `node::value_or()`
- added `std::wstring` support to `node_view::value()` and `node_view::value_or()`
- added wide-string overloads of `table::operator[]`
- added wide-string overloads of `node_view::operator[]`
- added `source_region::wide_path()`
- added `TOML_WINDOWS_COMPAT` switch for explicitly enabling/disabling this stuff
also:
- fixed internal macro `assert_or_assume` leaking out of `toml_parser.hpp`
- deprecated `node_view::get()` in favour of `node_view::node()`
- minor documentation fixes
- minor cleanup
2020-07-14 20:50:24 +03:00
Mark Gillard
8d958fcc54
documentation improvements and minor cleanup
...
- split conformance tests into multiple TU's
- added "Try this code on Compiler Explorer" links to the main page
- minor preprocessor cleanup
2020-07-06 01:03:07 +03:00
Mark Gillard
40a1a03315
simplified test code to reduce bloat and improve compile times
2020-06-29 01:57:59 +03:00