Commit Graph

317 Commits

Author SHA1 Message Date
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
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
Tristan Jones
07ada616d9 feat: add gitter badge on readme 2022-05-26 00:30:40 +03:00
Mark Gillard
e257fd8098 added toml_merger example
closes #155
2022-05-20 17:54:58 +03:00
Hennadii Chernyshchyk
b75212c5dd
Move install rules under PROJECT_IS_TOP_LEVEL (#154) 2022-05-18 13:00:37 +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
e55ac0288f MSVC used "Emotional Damage". It's super effective! 2022-05-09 15:15:00 +03:00
Mark Gillard
9e9b44dc14 made the toml_generator example Not Shit 2022-05-09 12:32:04 +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
27816dbbd1 added meson option use_vendored_libs 2022-05-01 15:09:09 +03:00
Mark Gillard
e47ef8cfb2 removed git submodules to fix various tooling issues (closes #151)
- removed submodules in `external/`
- vendored `Catch2` and `nlohmann/json directly`
- updated conformance test generator to look outside the repo for test sources
2022-05-01 12:20:03 +03:00