Commit Graph

329 Commits

Author SHA1 Message Date
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
dbc4bcecf2 update docs 2023-07-28 16:38:14 +03:00
Mark Gillard
4a28c36c43 misc preprocessor handling fixes 2023-06-14 15:44:33 +03:00
Mark Gillard
e6d1958f92 fixed compiler error when using NVCC
fixes #198
2023-05-18 12:02:56 +03:00
Mark Gillard
45e37d7b15 update bug report template 2023-05-18 11:21:11 +03:00
Mark Gillard
ad55bae8a1 minor fixes/tweaks 2023-04-03 22:37:18 +03:00
Mark Gillard
82c3b90697 fixed #108 2023-04-03 21:32:40 +03:00
Mark Gillard
3abe096513 gh-pages CI fix 2023-04-03 19:40:02 +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
Jonathan Guzmán
7eb2ffcc09
do not use inline_recursion if using clang-cl (#192) 2023-02-07 10:16:29 +02:00
Mark Gillard
c635f218c0 v3.3.0 2023-01-29 18:28:28 +02:00
Mark Gillard
1ebdad3e71 Update toml.hpp 2023-01-29 17:53:36 +02: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
d00464a7bc tentative fix for #189 2023-01-29 14:42:08 +02:00
Mark Gillard
d8bb7176d5 fix toml-test in ci 2023-01-22 22:26:45 +02:00
Mark Gillard
2b770b19cc build system overhaul
Fixes #185
Fixes #186
2023-01-22 22:02:20 +02:00
Claude Heiland-Allen
698285d9b2
fix build with mingw g++ 10 (#183)
Fixes https://github.com/marzer/tomlplusplus/issues/182
2022-12-20 13:11:30 +02:00
Mark Gillard
0e21bbd6da added additional floating-point tests 2022-11-26 22:40:04 +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
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
12f9c67bd7 fix typo in docs 2022-10-16 13:26:19 +03:00
Mark Gillard
b3f2783310 minor repo config bits 2022-10-15 12:24:19 +03:00
Mark Gillard
0435135403 ci: disable tipi.build 2022-10-14 13:29:12 +03:00
Mark Gillard
698ee0ecd1 fixes for latest MSVC
also:
- minor doc tweaks
2022-10-14 13:18:24 +03:00
Mark Gillard
4824a10031 docs: replace logo with SVG 2022-10-01 17:57:10 +10: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
Alexey Ismagilov
fb8ce80350
Fix typo in at_path (#173)
* ENH: tests: replacing tabs with '\t'.

* NEW: tests: adding tests for `path`

Added the test that detects an error in the code.
Code fixing in the following commit.

* FIX: at_path: typo in `parse_path`

Fixing bug in the code. Also fixing `path - parsing` tests.

* NEW: readme: update list of contributors
2022-09-19 09:22:48 +09:30
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
f5c5d7f36f minor doc updates 2022-09-07 17:50:47 +03: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
Kevin Saul
be0fbd5203
Update at_path(toml::path) to handle missing component (#168)
* test(paths): check at_path handles missing path component

* fix(paths): update at_path to handle missing component
2022-08-25 08:13:22 +03:00
Mark Gillard
cc3c6606f8 documentation + CI updates 2022-08-14 16:43:19 +03:00
Mark Gillard
59ad6e6dfe removing use of std::aligned_storage
That shit is deprecated in C++23, yo.
2022-08-11 16:13:25 +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
501a80e231 preprocessor + CI cleanup
also:
- minor refactors in path
- updated conformance tests
2022-07-31 18:34:53 +03:00
Mark Gillard
e2edd69399 Merge branch 'paths' 2022-07-31 13:58:29 +03:00
Andrea Pappacoda
cda9ca6cfe
Revert "build(meson): Update path for .pc and .cmake files (#165)" (#166)
If you want to read the full story please see pull request [#165][], but
in short moving files from share/ to lib/ was needed because FreeBSD
didn't look for .pc files in share/pkgconfig/.

After a quick [discussion][] upstream, FreeBSD's [pkgconf was patched][]
to also honour .pc files in share/pkgconfig/.

Now that everybody looks for stuff in share/, the commit
b1ecdf0ed8 can be reverted, so that stuff
like cross-compilation can continue working fine.

[#165]: https://github.com/marzer/tomlplusplus/pull/165
[discussion]: https://lists.freebsd.org/archives/freebsd-hackers/2022-July/001355.html
[pkgconf was patched]: https://cgit.freebsd.org/ports/commit/?id=d48fab59daa56e0b3b6ffecef57a69c32ae9c0a7
2022-07-30 21:14:55 +03:00
Daniel Engberg
b1ecdf0ed8
build(meson): Update path for .pc and .cmake files (#165)
Thanks for your contribution @diizzyy!
2022-07-21 23:50:16 +03:00
Tristan Jones
4047eb28b1
feat(paths): Removed use of std::variant in path_component_value (#161) 2022-06-25 12:19:40 +03:00
Mark Gillard
6a47ce703d update toml_merger example 2022-06-16 01:27:32 +03:00
Tristan Jones
fa8b6d472e
added operator= for path_components to keep component type and value synchronized (#159)
* feat(path): added operator= for path_components to keep component type and value synchronized

* fix(path): added missing TOML_EXPORTED_MEMBER_FUNCTION directives

* refactor(path): changed constructors to preserve type - value correlation in path_component

* fix(path): added TOML_EXPORTED_CLASS for path_component

* fix(path): corrected placement of TOML_EXPORTED_CLASS for path_component. urgh.

* fix(path): tidied up some constructors/accessors in path_component
2022-06-10 23:03:40 +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
5baa568a6b unified internal path parsing using callbacks 2022-06-06 13:59:14 +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