Commit Graph

126 Commits

Author SHA1 Message Date
Mark Gillard
b85b074e65 minor documentation fix 2021-05-21 14:49:29 +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
c4e00f9a56 fix conflict with Windows.h (closes #99) 2021-05-14 15:47:35 +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
BeastLe9enD
1ab8d3d022
Bypass including Windows.h (MultiByteToWideChar/WideCharToMultiByte) (#98) 2021-05-10 18:13:54 +03:00
Mark Gillard
369b36d288 documentation fixes, redux 2021-05-09 19:27:08 +03:00
Mark Gillard
479a550ba7 documentation fixes 2021-05-06 15:56:36 +03:00
Mark Gillard
0fcbfbe655 fixed segfault JSON-formatting a failed parse_result (closes #96)
also:
- fixed config error in example `.vcxproj` files
- fixed spurious newline after JSON formatting a table
- fixed VS intellisense not detecting TOML_COMPILER_EXCEPTIONS correctly
- moved `parse_result` to a separate header
- made more internal macros require semicolons
- removed some old deprecations
- minor documentation fixes
2021-05-06 14:28:29 +03:00
Mark Gillard
2cee913b6d fix spurious warnings with MSVC /Wall (fixes #94) 2021-04-23 00:51:25 +03:00
Mark Gillard
14682c1ece fixed TOML_CONSTEVAL breaking on VS 16.10.0pre2 (closes #93)
https://developercommunity.visualstudio.com/t/Erroneous-C7595-error-with-consteval-in/1404234
2021-04-21 15:36:25 +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
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
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
d95ff4c04f disable <charconv> on emscripten (fixes #71) 2020-11-26 17:28:28 +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
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
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
11a0e84ced added additional node_view constructors
also made node conversion operators explicit
2020-08-13 14:53:55 +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
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