Commit Graph

209 Commits

Author SHA1 Message Date
Mark Gillard
00e080f126 fix node::value() not retrieving inf and nan correctly 2021-01-05 17:34:18 +02:00
Mark Gillard
1ef6c0c6c8 update copyright year [skip ci] 2021-01-02 17:48:47 +02:00
Mark Gillard
4face4d5bf release 2.3.0 2020-12-29 11:22:22 +02:00
Mark Gillard
63ec393826 updated .editorconfig [skip ci] 2020-12-20 18:38:07 +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
54d80bb43b fix formatter not correctly line wrapping in some circumstances 2020-12-10 13:21:37 +02:00
Mark Gillard
9ea4438fc4 disable global compiler flag when used as subproject (fixes #72) 2020-12-09 09:48:02 +02:00
Mark Gillard
d95ff4c04f disable <charconv> on emscripten (fixes #71) 2020-11-26 17:28:28 +02:00
Mark Gillard
022a5b3166 CI tuning 2020-11-07 11:48:21 +02:00
Mark Gillard
8d3390faa2 updated CI and doxygen scripts 2020-10-30 15:09:28 +02:00
Mark Gillard
74efbb5960 update issue templates [skip ci] 2020-10-23 15:10:03 +03: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
487011398a correct version numbers in dox 2020-10-09 12:30:02 +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
Raul Tambre
248e6031cf
meson: Install CMake and pkg-config files into architecture-independe… (#60)
toml++ is header-only so these should be installed into architecture-independent directories to allow them to be found for crosscompiling regardless of the architecture they were installed on.

Fixes #59.
2020-09-17 15:16:36 +03:00
Mark Gillard
bf26a88412 minor cleanup and code review 2020-09-13 14:02:29 +03:00
Mark Gillard
dc29f80a4d added value_flags
Allows controlling the output format of integers, and round-trips their format when serializing after parsing.
2020-09-06 13:01:14 +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
8ae2eecf71 Updated github templates [skip ci] 2020-09-01 20:16:54 +03:00
Mark Gillard
81d74663e8 fixed _Float16 erroneously supported on g++ (closes #57) 2020-09-01 14:47:21 +03:00
Mark Gillard
977cfbbf4e fixes for VS2017 (closes #55) 2020-08-26 14:51:12 +03:00
Mark Gillard
83b9ca3f9c added set information to CONTRIBUTING
also updated windows test targets to use /MP
2020-08-20 14:03:14 +03:00
Mark Gillard
e19fb41517 Added more explicit control over budget in toml_generator example 2020-08-14 12:06:34 +03:00
Mark Gillard
11a0e84ced added additional node_view constructors
also made node conversion operators explicit
2020-08-13 14:53:55 +03:00
Mark Gillard
9b4614a4e7 Update README [skip ci] 2020-08-11 18:29:40 +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
Nathan Reed
3b44bd504b
Add implicit conversion operator from node to node_view (#52)
- Creates a node_view pointing to that node. This is similar to how std::string has a conversion operator creating a string_view of the string.
- Also, enabled the move assignment operator for node_view, but made both copy and move assignment operators lvalue-only to avoid the "misleading assignment" issue (see https://github.com/marzer/tomlplusplus/issues/49#issuecomment-664432777)
2020-08-09 02:12:17 +03:00
Mark Gillard
ad6be8e51e minor cleanup
mostly for testing on ICC.
2020-08-08 20:51:33 +03:00
Mark Gillard
b8fc830f9c regenerated unicode functions 2020-08-03 19:05:39 +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
whiterabbit963
52736559d2
fix node::value_or() to act like node::value() (#50)
auto table = toml::table{{{"value", 10}}};
const toml::node *value = table.get("value");
if(value && value->is_number())
{
    double number = value->value_or<double>(0);
    cout << number << endl;
}
The original output was 0. This change will output 10.0.
The old way would see that it was an integer (a native type),
then use the integer conversion, but since the type being requested
was a double, it would return the default value.
2020-07-30 20:41:28 +03:00
Mark Gillard
a1527d5529 fix godbolt links in documentation 2020-07-28 01:51:14 +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
35ada5d851 fix include guard regression in toml.hpp generator 2020-07-26 00:42:36 +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
cb113ae65e fixed Wcast-align warning spam on ARM 2020-07-22 21:47:27 +01:00