Commit Graph

166 Commits

Author SHA1 Message Date
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
Claus Klein
dcfab29e70
add cmake files to build and install header only library (#85)
* add cmake build and install support

export cmake config package too

* enable bootstap build without cmake config package

cleanup cmake list file
2021-02-02 18:45:59 +02: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
5a9166bce8 Update TOML version for v1.0.0 release 🎉 2021-01-13 11:00:10 +02:00
Mark Gillard
3db1e4e331 minor refactoring to make ICC happy 2021-01-11 09:53:03 +02:00
Mark Gillard
18c269bfac fixed missing internal macro default 2021-01-10 11:08:30 +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
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