This PR updates toml++ to v2.4.0, as well as a few other minor bits:
removed dependency on some of toml++'s internal macros
updated benchmark script to show relative speedup/slowdown factor
updated README to reflect TOML v1.0.0 status and added new benchmark data
updated tl::optional
made use of tl::optional over std::optional switched based on a configurable #define
added .clang-format
RE std::optional: tl::optional is a great fallback but in general for this library's purposes you should probably prefer std::optional wherever it's available since it targets C++17 at a minimum and vendors are likely to have extensively tested their standard libraries on their specific platforms. Currently it uses tloptional for __APPLE__ platforms and std::optional everywhere else, per #14.
RE .clang-format: I generated it using the defaults (--style=llvm), only changing SortIncludes to false (header order shouldn't matter, but it often does, and letting a tool arbitrarily re-order headers can lead to very weird surprises).
I also removed 'unofficial' from the readme since I think this library is as close to offical a python toml++ wrapper as there's ever likely to be :)
This PR updates toml++ to v2.4.0, as well as a few other minor bits:
tl::optional
tl::optional
overstd::optional
switched based on a configurable#define
.clang-format
RE
std::optional
:tl::optional
is a great fallback but in general for this library's purposes you should probably preferstd::optional
wherever it's available since it targets C++17 at a minimum and vendors are likely to have extensively tested their standard libraries on their specific platforms. Currently it usestloptional
for__APPLE__
platforms and std::optional everywhere else, per #14.RE
.clang-format
: I generated it using the defaults (--style=llvm
), only changingSortIncludes
tofalse
(header order shouldn't matter, but it often does, and letting a tool arbitrarily re-order headers can lead to very weird surprises).I also removed 'unofficial' from the readme since I think this library is as close to offical a python toml++ wrapper as there's ever likely to be :)