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
@ -4,19 +4,19 @@ jobs:
|
|||||||
|
|
||||||
debug_clang:
|
debug_clang:
|
||||||
docker:
|
docker:
|
||||||
- image: marzer/misc_cpp17_dev:0.2.0
|
- image: marzer/cpp_dev:0.1.0
|
||||||
resource_class: large
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Checking toml.hpp
|
name: Checking toml.hpp
|
||||||
command: |
|
command: |
|
||||||
cd python && python3 ci_single_header_check.py
|
cd tools && python3 ci_single_header_check.py
|
||||||
- run:
|
- run:
|
||||||
name: Pulling submodules
|
name: Pulling submodules
|
||||||
command: |
|
command: |
|
||||||
git submodule update --init extern/Catch2
|
git submodule update --init --depth 1 external/Catch2
|
||||||
git submodule update --init extern/tloptional
|
git submodule update --init --depth 1 external/tloptional
|
||||||
- run:
|
- run:
|
||||||
name: Building and testing with clang
|
name: Building and testing with clang
|
||||||
command: |
|
command: |
|
||||||
@ -25,19 +25,19 @@ jobs:
|
|||||||
|
|
||||||
release_clang:
|
release_clang:
|
||||||
docker:
|
docker:
|
||||||
- image: marzer/misc_cpp17_dev:0.2.0
|
- image: marzer/cpp_dev:0.1.0
|
||||||
resource_class: large
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Checking toml.hpp
|
name: Checking toml.hpp
|
||||||
command: |
|
command: |
|
||||||
cd python && python3 ci_single_header_check.py
|
cd tools && python3 ci_single_header_check.py
|
||||||
- run:
|
- run:
|
||||||
name: Pulling submodules
|
name: Pulling submodules
|
||||||
command: |
|
command: |
|
||||||
git submodule update --init extern/Catch2
|
git submodule update --init --depth 1 external/Catch2
|
||||||
git submodule update --init extern/tloptional
|
git submodule update --init --depth 1 external/tloptional
|
||||||
- run:
|
- run:
|
||||||
name: Building and testing with clang
|
name: Building and testing with clang
|
||||||
command: |
|
command: |
|
||||||
@ -46,15 +46,15 @@ jobs:
|
|||||||
|
|
||||||
debug_gcc:
|
debug_gcc:
|
||||||
docker:
|
docker:
|
||||||
- image: marzer/misc_cpp17_dev:0.2.0
|
- image: marzer/cpp_dev:0.1.0
|
||||||
resource_class: large
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Pulling submodules
|
name: Pulling submodules
|
||||||
command: |
|
command: |
|
||||||
git submodule update --init extern/Catch2
|
git submodule update --init --depth 1 external/Catch2
|
||||||
git submodule update --init extern/tloptional
|
git submodule update --init --depth 1 external/tloptional
|
||||||
- run:
|
- run:
|
||||||
name: Building and testing with gcc
|
name: Building and testing with gcc
|
||||||
command: |
|
command: |
|
||||||
@ -63,15 +63,15 @@ jobs:
|
|||||||
|
|
||||||
release_gcc:
|
release_gcc:
|
||||||
docker:
|
docker:
|
||||||
- image: marzer/misc_cpp17_dev:0.2.0
|
- image: marzer/cpp_dev:0.1.0
|
||||||
resource_class: large
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Pulling submodules
|
name: Pulling submodules
|
||||||
command: |
|
command: |
|
||||||
git submodule update --init extern/Catch2
|
git submodule update --init --depth 1 external/Catch2
|
||||||
git submodule update --init extern/tloptional
|
git submodule update --init --depth 1 external/tloptional
|
||||||
- run:
|
- run:
|
||||||
name: Building and testing with gcc
|
name: Building and testing with gcc
|
||||||
command: |
|
command: |
|
||||||
@ -80,18 +80,22 @@ jobs:
|
|||||||
|
|
||||||
generate_dox:
|
generate_dox:
|
||||||
docker:
|
docker:
|
||||||
- image: marzer/misc_cpp17_dev:0.2.0
|
- image: marzer/cpp_dev:0.1.0
|
||||||
resource_class: small
|
resource_class: small
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Pulling submodules
|
name: Pulling submodules
|
||||||
command: |
|
command: |
|
||||||
git submodule update --init extern/mcss
|
git submodule update --init --depth 1 --recursive external/dox
|
||||||
|
- run:
|
||||||
|
name: Installing dependencies
|
||||||
|
command: |
|
||||||
|
pip3 install --upgrade -r external/dox/requirements.txt
|
||||||
- run:
|
- run:
|
||||||
name: Generating documentation
|
name: Generating documentation
|
||||||
command: |
|
command: |
|
||||||
cd python && python3 generate_documentation.py
|
cd docs && python3 ../external/dox --verbose
|
||||||
- persist_to_workspace:
|
- persist_to_workspace:
|
||||||
root: docs
|
root: docs
|
||||||
paths: html
|
paths: html
|
||||||
|
87
.gitattributes
vendored
@ -1,26 +1,61 @@
|
|||||||
* text=auto encoding=UTF-8
|
* text=auto encoding=UTF-8
|
||||||
*.c text encoding=UTF-8 eol=lf
|
|
||||||
*.cpp text encoding=UTF-8 eol=lf
|
*.c text eol=lf encoding=UTF-8
|
||||||
*.cxx text encoding=UTF-8 eol=lf
|
*.cpp text eol=lf encoding=UTF-8
|
||||||
*.dox text encoding=UTF-8 eol=lf
|
*.css text eol=lf encoding=UTF-8
|
||||||
*.h text encoding=UTF-8 eol=lf
|
*.cxx text eol=lf encoding=UTF-8
|
||||||
*.hpp text encoding=UTF-8 eol=lf
|
*.dox text eol=lf encoding=UTF-8
|
||||||
*.hxx text encoding=UTF-8 eol=lf
|
*.h text eol=lf encoding=UTF-8
|
||||||
*.inl text encoding=UTF-8 eol=lf
|
*.hint text eol=lf encoding=UTF-8
|
||||||
*.toml text=auto encoding=UTF-8
|
*.hlsl text eol=crlf encoding=UTF-8
|
||||||
*.xml text=auto encoding=UTF-8
|
*.hpp text eol=lf encoding=UTF-8
|
||||||
*.py text encoding=UTF-8 eol=lf
|
*.htm text eol=lf encoding=UTF-8
|
||||||
*.natvis text encoding=UTF-8 eol=crlf
|
*.html text eol=lf encoding=UTF-8
|
||||||
*.props text encoding=UTF-8 eol=crlf
|
*.hxx text eol=lf encoding=UTF-8
|
||||||
*.vcxproj text encoding=UTF-8 eol=crlf
|
*.ini text eol=lf encoding=UTF-8
|
||||||
*.sln text encoding=UTF-8-BOM eol=crlf
|
*.inl text eol=lf encoding=UTF-8
|
||||||
*.runsettings text encoding=UTF-8 eol=crlf
|
*.md text eol=lf encoding=UTF-8
|
||||||
*.md text encoding=UTF-8 eol=lf
|
*.natvis text eol=lf encoding=UTF-8
|
||||||
*.css text encoding=UTF-8 eol=lf
|
*.props text eol=lf encoding=UTF-8
|
||||||
.gitignore text encoding=UTF-8 eol=lf
|
*.py text eol=lf encoding=UTF-8
|
||||||
.gitattributes text encoding=UTF-8 eol=lf
|
*.rc text eol=crlf encoding=UTF-8
|
||||||
.editorconfig text encoding=UTF-8 eol=lf
|
*.runsettings text eol=lf encoding=UTF-8
|
||||||
meson.build text encoding=UTF-8 eol=lf
|
*.sln text eol=crlf encoding=UTF-8-BOM
|
||||||
meson_options.txt text encoding=UTF-8 eol=lf
|
*.toml text eol=lf encoding=UTF-8
|
||||||
Doxyfile text encoding=UTF-8 eol=lf
|
*.txt text eol=lf encoding=UTF-8
|
||||||
Doxyfile-mcss text encoding=UTF-8 eol=lf
|
*.vcxproj text eol=crlf encoding=UTF-8-BOM
|
||||||
|
*.vcxproj.filters text eol=crlf encoding=UTF-8-BOM
|
||||||
|
*.xml text eol=lf encoding=UTF-8
|
||||||
|
.clang-format text eol=lf encoding=UTF-8
|
||||||
|
.editorconfig text eol=lf encoding=UTF-8
|
||||||
|
.gitattributes text eol=lf encoding=UTF-8
|
||||||
|
.gitignore text eol=lf encoding=UTF-8
|
||||||
|
Doxyfile text eol=lf encoding=UTF-8
|
||||||
|
Doxyfile-mcss text eol=lf encoding=UTF-8
|
||||||
|
meson.build text eol=lf encoding=UTF-8
|
||||||
|
|
||||||
|
*.cs eol=lf diff=csharp
|
||||||
|
|
||||||
|
*.doc diff=astextplain
|
||||||
|
*.DOC diff=astextplain
|
||||||
|
*.docx diff=astextplain
|
||||||
|
*.DOCX diff=astextplain
|
||||||
|
*.dot diff=astextplain
|
||||||
|
*.DOT diff=astextplain
|
||||||
|
*.pdf diff=astextplain
|
||||||
|
*.PDF diff=astextplain
|
||||||
|
*.rtf diff=astextplain
|
||||||
|
*.RTF diff=astextplain
|
||||||
|
|
||||||
|
*.ai binary
|
||||||
|
*.bin binary
|
||||||
|
*.bmp binary
|
||||||
|
*.dat binary
|
||||||
|
*.gif binary
|
||||||
|
*.ico binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.jpg binary
|
||||||
|
*.png binary
|
||||||
|
*.psd binary
|
||||||
|
*.rc binary
|
||||||
|
*.xlsx binary
|
||||||
|
11
.gitignore
vendored
@ -8,8 +8,15 @@ meson-private/
|
|||||||
build.ninja
|
build.ninja
|
||||||
compile_commands.json
|
compile_commands.json
|
||||||
[Bb]uild*/
|
[Bb]uild*/
|
||||||
[Dd]ocs/xml
|
|
||||||
[Dd]ocs/html
|
# documentation
|
||||||
|
*.xml
|
||||||
|
*.xslt
|
||||||
|
*.xsd
|
||||||
|
*.html
|
||||||
|
*.temp
|
||||||
|
docs/html
|
||||||
|
docs/xml
|
||||||
|
|
||||||
## Ignore Visual Studio temporary files, build results, and
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
## files generated by popular Visual Studio add-ons.
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
26
.gitmodules
vendored
@ -1,15 +1,15 @@
|
|||||||
[submodule "extern/Catch2"]
|
[submodule "external/toml-test"]
|
||||||
path = extern/Catch2
|
path = external/toml-test
|
||||||
url = https://github.com/catchorg/Catch2.git
|
|
||||||
[submodule "extern/mcss"]
|
|
||||||
path = extern/mcss
|
|
||||||
url = https://github.com/mosra/m.css.git
|
|
||||||
[submodule "extern/tloptional"]
|
|
||||||
path = extern/tloptional
|
|
||||||
url = https://github.com/TartanLlama/optional.git
|
|
||||||
[submodule "extern/toml-test"]
|
|
||||||
path = extern/toml-test
|
|
||||||
url = https://github.com/BurntSushi/toml-test.git
|
url = https://github.com/BurntSushi/toml-test.git
|
||||||
[submodule "extern/toml-spec-tests"]
|
[submodule "external/toml-spec-tests"]
|
||||||
path = extern/toml-spec-tests
|
path = external/toml-spec-tests
|
||||||
url = https://github.com/iarna/toml-spec-tests.git
|
url = https://github.com/iarna/toml-spec-tests.git
|
||||||
|
[submodule "external/dox"]
|
||||||
|
path = external/dox
|
||||||
|
url = https://github.com/marzer/dox.git
|
||||||
|
[submodule "external/Catch2"]
|
||||||
|
path = external/Catch2
|
||||||
|
url = https://github.com/catchorg/Catch2.git
|
||||||
|
[submodule "external/tloptional"]
|
||||||
|
path = external/tloptional
|
||||||
|
url = https://github.com/TartanLlama/optional.git
|
||||||
|
@ -13,7 +13,8 @@ If you wish to submit a PR, please be aware that:
|
|||||||
1. Make your changes as necessary
|
1. Make your changes as necessary
|
||||||
- If you've added a new header file that isn't going to be transitively included by one of the
|
- If you've added a new header file that isn't going to be transitively included by one of the
|
||||||
others, add an include directive to `include/toml++/toml.h`
|
others, add an include directive to `include/toml++/toml.h`
|
||||||
2. Run `python/generate_single_header.py`
|
2. Install the prerequisite python packages: `pip3 install -r tools/requirements.txt`
|
||||||
|
3. Run `tools/generate_single_header.py`
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -21,8 +22,7 @@ If you wish to submit a PR, please be aware that:
|
|||||||
Testing is done using [Catch2], included in the respository as a submodule under `extern/Catch2`.
|
Testing is done using [Catch2], included in the respository as a submodule under `extern/Catch2`.
|
||||||
The first time you want to begin testing you'll need to ensure submodules have been fetched:
|
The first time you want to begin testing you'll need to ensure submodules have been fetched:
|
||||||
```bash
|
```bash
|
||||||
git submodule update --init extern/Catch2
|
git submodule update --init --depth 1 external/Catch2 external/tloptional
|
||||||
git submodule update --init extern/tloptional
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing on Windows with Visual Studio
|
### Testing on Windows with Visual Studio
|
||||||
|
32
README.md
@ -1,17 +1,17 @@
|
|||||||
[![banner](docs/banner_small.png)][homepage]
|
[![banner](docs/images/banner_small.png)][homepage]
|
||||||
[![Releases](https://img.shields.io/github/v/release/marzer/tomlplusplus?style=flat-square)](https://github.com/marzer/tomlplusplus/releases)
|
[![Releases](https://img.shields.io/github/v/release/marzer/tomlplusplus?style=flat-square)](https://github.com/marzer/tomlplusplus/releases)
|
||||||
[![C++17](docs/badge-C++17.svg)][cpp_compilers]
|
[![C++17](docs/images/badge-C++17.svg)][cpp_compilers]
|
||||||
[![C++20](docs/badge-C++20.svg)][cpp_compilers]
|
[![C++20](docs/images/badge-C++20.svg)][cpp_compilers]
|
||||||
[![TOML](docs/badge-TOML.svg)][v1.0.0]
|
[![TOML](docs/images/badge-TOML.svg)][v1.0.0]
|
||||||
[![MIT license](docs/badge-license-MIT.svg)](./LICENSE)
|
[![MIT license](docs/images/badge-license-MIT.svg)](./LICENSE)
|
||||||
[![CircleCI](https://img.shields.io/circleci/build/github/marzer/tomlplusplus?label=circle%20ci&logo=circleci&logoColor=white&style=flat-square)](https://circleci.com/gh/marzer/tomlplusplus)
|
[![CircleCI](https://img.shields.io/circleci/build/github/marzer/tomlplusplus?label=circle%20ci&logo=circleci&logoColor=white&style=flat-square)](https://circleci.com/gh/marzer/tomlplusplus)
|
||||||
[![Mentioned in Awesome C++](docs/badge-awesome.svg)](https://github.com/fffaraz/awesome-cpp)
|
[![Mentioned in Awesome C++](docs/images/badge-awesome.svg)](https://github.com/fffaraz/awesome-cpp)
|
||||||
====
|
====
|
||||||
|
|
||||||
# toml++ homepage
|
# toml++ homepage
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<strong>✨ This README is fine, but the <a href="https://marzer.github.io/tomlplusplus/">toml++ homepage</a> is better. ✨</strong>
|
<strong>✨️ This README is fine, but the <a href="https://marzer.github.io/tomlplusplus/">toml++ homepage</a> is better. ✨️</strong>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
# Basic usage
|
# Basic usage
|
||||||
|
|
||||||
> ℹ _The following example favours brevity. If you'd prefer full API documentation and lots of specific code snippets
|
> ℹ️ _The following example favours brevity. If you'd prefer full API documentation and lots of specific code snippets
|
||||||
instead, visit the project [homepage]_
|
instead, visit the project [homepage]_
|
||||||
|
|
||||||
Given a [TOML] file `configuration.toml` containing the following:
|
Given a [TOML] file `configuration.toml` containing the following:
|
||||||
@ -89,11 +89,11 @@ You'll find some more code examples in the `examples` directory, and plenty more
|
|||||||
# Adding toml++ to your project
|
# Adding toml++ to your project
|
||||||
`toml++` comes in two flavours: Single-header and Regular. The API is the same for both.
|
`toml++` comes in two flavours: Single-header and Regular. The API is the same for both.
|
||||||
|
|
||||||
### 🍦 Single-header flavour
|
### 🍦️ Single-header flavour
|
||||||
1. Drop `toml.hpp` wherever you like in your source tree
|
1. Drop `toml.hpp` wherever you like in your source tree
|
||||||
2. There is no step two
|
2. There is no step two
|
||||||
|
|
||||||
### 🍨 Regular flavour
|
### 🍨️ Regular flavour
|
||||||
1. Add `tomlplusplus/include` to your include paths
|
1. Add `tomlplusplus/include` to your include paths
|
||||||
2. `#include <toml++/toml.h>`
|
2. `#include <toml++/toml.h>`
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ depends: [
|
|||||||
'tomlpp^2.3.0',
|
'tomlpp^2.3.0',
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
> ℹ _[What is DDS?](https://dds.pizza/)_
|
> ℹ️ _[What is DDS?](https://dds.pizza/)_
|
||||||
|
|
||||||
### Vcpkg
|
### Vcpkg
|
||||||
```
|
```
|
||||||
@ -142,7 +142,7 @@ won't need to mess with these at all, but if you do, set them before including t
|
|||||||
| `TOML_UNRELEASED_FEATURES` | boolean | `0` | Enables support for [unreleased TOML language features] not yet part of a [numbered version]. |
|
| `TOML_UNRELEASED_FEATURES` | boolean | `0` | Enables support for [unreleased TOML language features] not yet part of a [numbered version]. |
|
||||||
| `TOML_WINDOWS_COMPAT` | boolean | `1` on Windows | Enables support for transparent conversion between wide and narrow strings in some places when building for Windows. |
|
| `TOML_WINDOWS_COMPAT` | boolean | `1` on Windows | Enables support for transparent conversion between wide and narrow strings in some places when building for Windows. |
|
||||||
|
|
||||||
> ℹ _A number of these have ABI implications; the library uses inline namespaces to prevent you from accidentally
|
> ℹ️ _A number of these have ABI implications; the library uses inline namespaces to prevent you from accidentally
|
||||||
linking incompatible combinations together._
|
linking incompatible combinations together._
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -155,7 +155,7 @@ support for a number of unreleased features from the [TOML master] and some sane
|
|||||||
The library advertises the most recent numbered language version it fully supports via the preprocessor
|
The library advertises the most recent numbered language version it fully supports via the preprocessor
|
||||||
defines `TOML_LANG_MAJOR`, `TOML_LANG_MINOR` and `TOML_LANG_PATCH`.
|
defines `TOML_LANG_MAJOR`, `TOML_LANG_MINOR` and `TOML_LANG_PATCH`.
|
||||||
|
|
||||||
### 🔸 **Unreleased language features:**
|
### 🔸️ **Unreleased language features:**
|
||||||
- [#516]: Allow newlines and trailing commas in inline tables
|
- [#516]: Allow newlines and trailing commas in inline tables
|
||||||
- [#562]: Allow hex floating-point values
|
- [#562]: Allow hex floating-point values
|
||||||
- [#644]: Support `+` in key names
|
- [#644]: Support `+` in key names
|
||||||
@ -163,9 +163,9 @@ defines `TOML_LANG_MAJOR`, `TOML_LANG_MINOR` and `TOML_LANG_PATCH`.
|
|||||||
- [#687]: Relax bare key restrictions to allow additional unicode characters
|
- [#687]: Relax bare key restrictions to allow additional unicode characters
|
||||||
- [#709]: Include an \xHH escape code sequence
|
- [#709]: Include an \xHH escape code sequence
|
||||||
|
|
||||||
> ℹ _`#define TOML_UNRELEASED_FEATURES 1` to enable these features (see [Configuration](#Configuration))._
|
> ℹ️ _`#define TOML_UNRELEASED_FEATURES 1` to enable these features (see [Configuration](#Configuration))._
|
||||||
|
|
||||||
### 🔹 **TOML v1.0.0:**
|
### 🔹️ **TOML v1.0.0:**
|
||||||
All features supported, including:
|
All features supported, including:
|
||||||
- [#356]: Allow leading zeros in the exponent part of a float
|
- [#356]: Allow leading zeros in the exponent part of a float
|
||||||
- [#567]: Control characters are not permitted in comments
|
- [#567]: Control characters are not permitted in comments
|
||||||
@ -173,7 +173,7 @@ All features supported, including:
|
|||||||
- [#665]: Make arrays heterogeneous
|
- [#665]: Make arrays heterogeneous
|
||||||
- [#766]: Allow comments before commas in arrays
|
- [#766]: Allow comments before commas in arrays
|
||||||
|
|
||||||
### 🔹 **TOML v0.5.0:**
|
### 🔹️ **TOML v0.5.0:**
|
||||||
All features supported.
|
All features supported.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
14
cpp.hint
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#define TOML_API
|
||||||
|
#define TOML_ATTR(...)
|
||||||
|
#define TOML_ALWAYS_INLINE inline
|
||||||
|
#define TOML_NEVER_INLINE
|
||||||
|
#define TOML_TRIVIAL_ABI
|
||||||
|
#define TOML_ABSTRACT_BASE
|
||||||
|
#define TOML_EMPTY_BASES
|
||||||
|
#define TOML_MAY_THROW
|
||||||
|
#define TOML_CONSTEVAL constexpr
|
||||||
|
#define TOML_LIKELY(...) (__VA_ARGS__)
|
||||||
|
#define TOML_UNLIKELY(...) (__VA_ARGS__)
|
||||||
|
#define TOML_NODISCARD_CTOR
|
||||||
|
#define TOML_EXTERNAL_LINKAGE
|
||||||
|
#define TOML_INTERNAL_LINKAGE
|
275
docs/Doxyfile
@ -1,4 +1,4 @@
|
|||||||
# Doxyfile 1.8.16
|
# Doxyfile 1.9.1
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Project related configuration options
|
# Project related configuration options
|
||||||
@ -6,9 +6,9 @@
|
|||||||
DOXYFILE_ENCODING = UTF-8
|
DOXYFILE_ENCODING = UTF-8
|
||||||
PROJECT_NAME = toml++
|
PROJECT_NAME = toml++
|
||||||
PROJECT_NUMBER =
|
PROJECT_NUMBER =
|
||||||
PROJECT_BRIEF = TOML for modern C++
|
PROJECT_BRIEF = "TOML for modern C++"
|
||||||
PROJECT_LOGO = logo.png
|
PROJECT_LOGO = logo.png
|
||||||
OUTPUT_DIRECTORY = ./
|
OUTPUT_DIRECTORY =
|
||||||
CREATE_SUBDIRS = NO
|
CREATE_SUBDIRS = NO
|
||||||
ALLOW_UNICODE_NAMES = NO
|
ALLOW_UNICODE_NAMES = NO
|
||||||
OUTPUT_LANGUAGE = English
|
OUTPUT_LANGUAGE = English
|
||||||
@ -36,31 +36,11 @@ JAVADOC_AUTOBRIEF = NO
|
|||||||
JAVADOC_BANNER = NO
|
JAVADOC_BANNER = NO
|
||||||
QT_AUTOBRIEF = NO
|
QT_AUTOBRIEF = NO
|
||||||
MULTILINE_CPP_IS_BRIEF = NO
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
PYTHON_DOCSTRING = YES
|
||||||
INHERIT_DOCS = YES
|
INHERIT_DOCS = YES
|
||||||
SEPARATE_MEMBER_PAGES = NO
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
TAB_SIZE = 4
|
TAB_SIZE = 4
|
||||||
ALIASES = \
|
ALIASES =
|
||||||
"cpp=@code{.cpp}" \
|
|
||||||
"ecpp=@endcode" \
|
|
||||||
"out=@code{.shell-session}" \
|
|
||||||
"eout=@endcode" \
|
|
||||||
"bash=@code{.sh}" \
|
|
||||||
"ebash=@endcode" \
|
|
||||||
"detail=@details" \
|
|
||||||
"gh{1}=<a href=\"https://github.com/\1\" target=\"_blank\">\1</a>" \
|
|
||||||
"gh2{2}=<a href=\"https://github.com/\1\" target=\"_blank\">\2</a>" \
|
|
||||||
"godbolt{1}=<a href=\"https://godbolt.org/z/\1\" target=\"_blank\">Try this code on Compiler Explorer</a>" \
|
|
||||||
"m_div{1}=@xmlonly<mcss:div xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
|
|
||||||
"m_enddiv=@xmlonly</mcss:div>@endxmlonly" \
|
|
||||||
"m_span{1}=@xmlonly<mcss:span xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
|
|
||||||
"m_endspan=@xmlonly</mcss:span>@endxmlonly" \
|
|
||||||
"m_class{1}=@xmlonly<mcss:class xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\" />@endxmlonly" \
|
|
||||||
"m_footernavigation=@xmlonly<mcss:footernavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" />@endxmlonly" \
|
|
||||||
"m_examplenavigation{2}=@xmlonly<mcss:examplenavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:page=\"\1\" mcss:prefix=\"\2\" />@endxmlonly" \
|
|
||||||
"m_keywords{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"\1\" />@endxmlonly" \
|
|
||||||
"m_keyword{3}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keyword=\"\1\" mcss:title=\"\2\" mcss:suffix-length=\"\3\" />@endxmlonly" \
|
|
||||||
"m_enum_values_as_keywords=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:enum-values-as-keywords=\"true\" />@endxmlonly"
|
|
||||||
TCL_SUBST =
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
OPTIMIZE_OUTPUT_JAVA = NO
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
OPTIMIZE_FOR_FORTRAN = NO
|
OPTIMIZE_FOR_FORTRAN = NO
|
||||||
@ -81,6 +61,7 @@ INLINE_GROUPED_CLASSES = NO
|
|||||||
INLINE_SIMPLE_STRUCTS = NO
|
INLINE_SIMPLE_STRUCTS = NO
|
||||||
TYPEDEF_HIDES_STRUCT = NO
|
TYPEDEF_HIDES_STRUCT = NO
|
||||||
LOOKUP_CACHE_SIZE = 1
|
LOOKUP_CACHE_SIZE = 1
|
||||||
|
NUM_PROC_THREADS = 1
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Build related configuration options
|
# Build related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
@ -92,6 +73,7 @@ EXTRACT_STATIC = NO
|
|||||||
EXTRACT_LOCAL_CLASSES = NO
|
EXTRACT_LOCAL_CLASSES = NO
|
||||||
EXTRACT_LOCAL_METHODS = NO
|
EXTRACT_LOCAL_METHODS = NO
|
||||||
EXTRACT_ANON_NSPACES = NO
|
EXTRACT_ANON_NSPACES = NO
|
||||||
|
RESOLVE_UNNAMED_PARAMS = YES
|
||||||
HIDE_UNDOC_MEMBERS = YES
|
HIDE_UNDOC_MEMBERS = YES
|
||||||
HIDE_UNDOC_CLASSES = YES
|
HIDE_UNDOC_CLASSES = YES
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
@ -132,12 +114,12 @@ WARN_IF_DOC_ERROR = YES
|
|||||||
WARN_NO_PARAMDOC = NO
|
WARN_NO_PARAMDOC = NO
|
||||||
WARN_AS_ERROR = NO
|
WARN_AS_ERROR = NO
|
||||||
WARN_FORMAT = "$file:$line: $text"
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
WARN_LOGFILE = ./doc/doxygen_warnings.log
|
WARN_LOGFILE =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to the input files
|
# Configuration options related to the input files
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
INPUT = ../include
|
INPUT = ../include/ \
|
||||||
INPUT += ../docs
|
pages/
|
||||||
INPUT_ENCODING = UTF-8
|
INPUT_ENCODING = UTF-8
|
||||||
FILE_PATTERNS = *.h \
|
FILE_PATTERNS = *.h \
|
||||||
*.dox
|
*.dox
|
||||||
@ -149,158 +131,13 @@ EXCLUDE_SYMBOLS =
|
|||||||
EXAMPLE_PATH =
|
EXAMPLE_PATH =
|
||||||
EXAMPLE_PATTERNS = *
|
EXAMPLE_PATTERNS = *
|
||||||
EXAMPLE_RECURSIVE = NO
|
EXAMPLE_RECURSIVE = NO
|
||||||
IMAGE_PATH = ./
|
IMAGE_PATH = images/
|
||||||
INPUT_FILTER =
|
INPUT_FILTER =
|
||||||
FILTER_PATTERNS =
|
FILTER_PATTERNS =
|
||||||
FILTER_SOURCE_FILES = NO
|
FILTER_SOURCE_FILES = NO
|
||||||
FILTER_SOURCE_PATTERNS =
|
FILTER_SOURCE_PATTERNS =
|
||||||
USE_MDFILE_AS_MAINPAGE =
|
USE_MDFILE_AS_MAINPAGE =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
REFERENCED_BY_RELATION = NO
|
|
||||||
REFERENCES_RELATION = NO
|
|
||||||
REFERENCES_LINK_SOURCE = NO
|
|
||||||
SOURCE_TOOLTIPS = YES
|
|
||||||
USE_HTAGS = NO
|
|
||||||
VERBATIM_HEADERS = NO
|
|
||||||
CLANG_ASSISTED_PARSING = NO
|
|
||||||
CLANG_OPTIONS =
|
|
||||||
CLANG_DATABASE_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = NO
|
|
||||||
HTML_OUTPUT = html
|
|
||||||
HTML_FILE_EXTENSION = .html
|
|
||||||
HTML_HEADER =
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_EXTRA_STYLESHEET =
|
|
||||||
HTML_EXTRA_FILES =
|
|
||||||
HTML_COLORSTYLE_HUE = 224
|
|
||||||
HTML_COLORSTYLE_SAT = 50
|
|
||||||
HTML_COLORSTYLE_GAMMA = 67
|
|
||||||
HTML_TIMESTAMP = NO
|
|
||||||
HTML_DYNAMIC_MENUS = YES
|
|
||||||
HTML_DYNAMIC_SECTIONS = NO
|
|
||||||
HTML_INDEX_NUM_ENTRIES = 100
|
|
||||||
GENERATE_DOCSET = NO
|
|
||||||
DOCSET_FEEDNAME = "Doxygen generated docs"
|
|
||||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
|
||||||
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
|
||||||
DOCSET_PUBLISHER_NAME = Publisher
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
CHM_FILE =
|
|
||||||
HHC_LOCATION =
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
CHM_INDEX_ENCODING =
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
GENERATE_QHP = NO
|
|
||||||
QCH_FILE =
|
|
||||||
QHP_NAMESPACE = org.doxygen.Project
|
|
||||||
QHP_VIRTUAL_FOLDER = doc
|
|
||||||
QHP_CUST_FILTER_NAME =
|
|
||||||
QHP_CUST_FILTER_ATTRS =
|
|
||||||
QHP_SECT_FILTER_ATTRS =
|
|
||||||
QHG_LOCATION =
|
|
||||||
GENERATE_ECLIPSEHELP = NO
|
|
||||||
ECLIPSE_DOC_ID = org.doxygen.Project
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
GENERATE_TREEVIEW = YES
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
EXT_LINKS_IN_WINDOW = NO
|
|
||||||
FORMULA_FONTSIZE = 10
|
|
||||||
FORMULA_TRANSPARENT = YES
|
|
||||||
USE_MATHJAX = NO
|
|
||||||
MATHJAX_FORMAT = HTML-CSS
|
|
||||||
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
|
||||||
MATHJAX_EXTENSIONS =
|
|
||||||
MATHJAX_CODEFILE =
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
SERVER_BASED_SEARCH = NO
|
|
||||||
EXTERNAL_SEARCH = NO
|
|
||||||
SEARCHENGINE_URL =
|
|
||||||
SEARCHDATA_FILE = searchdata.xml
|
|
||||||
EXTERNAL_SEARCH_ID =
|
|
||||||
EXTRA_SEARCH_MAPPINGS =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT = latex
|
|
||||||
LATEX_CMD_NAME = latex
|
|
||||||
MAKEINDEX_CMD_NAME = makeindex
|
|
||||||
LATEX_MAKEINDEX_CMD = makeindex
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
LATEX_FOOTER =
|
|
||||||
LATEX_EXTRA_STYLESHEET =
|
|
||||||
LATEX_EXTRA_FILES =
|
|
||||||
PDF_HYPERLINKS = YES
|
|
||||||
USE_PDFLATEX = YES
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
LATEX_HIDE_INDICES = NO
|
|
||||||
LATEX_SOURCE_CODE = NO
|
|
||||||
LATEX_BIB_STYLE = plain
|
|
||||||
LATEX_TIMESTAMP = NO
|
|
||||||
LATEX_EMOJI_DIRECTORY =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT = rtf
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
RTF_SOURCE_CODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT = man
|
|
||||||
MAN_EXTENSION = .3
|
|
||||||
MAN_SUBDIR =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = YES
|
|
||||||
XML_OUTPUT = xml
|
|
||||||
XML_PROGRAMLISTING = NO
|
|
||||||
XML_NS_MEMB_FILE_SCOPE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the DOCBOOK output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_DOCBOOK = NO
|
|
||||||
DOCBOOK_OUTPUT = docbook
|
|
||||||
DOCBOOK_PROGRAMLISTING = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the Perl module output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_PERLMOD = NO
|
|
||||||
PERLMOD_LATEX = NO
|
|
||||||
PERLMOD_PRETTY = YES
|
|
||||||
PERLMOD_MAKEVAR_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
# Configuration options related to the preprocessor
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
ENABLE_PREPROCESSING = YES
|
ENABLE_PREPROCESSING = YES
|
||||||
@ -309,92 +146,6 @@ EXPAND_ONLY_PREDEF = NO
|
|||||||
SEARCH_INCLUDES = NO
|
SEARCH_INCLUDES = NO
|
||||||
INCLUDE_PATH =
|
INCLUDE_PATH =
|
||||||
INCLUDE_FILE_PATTERNS =
|
INCLUDE_FILE_PATTERNS =
|
||||||
PREDEFINED = \
|
PREDEFINED =
|
||||||
"DOXYGEN=1" \
|
EXPAND_AS_DEFINED =
|
||||||
"NDEBUG=1" \
|
|
||||||
"__cplusplus=201703L" \
|
|
||||||
"__has_include(...)=0" \
|
|
||||||
"__has_attribute(...)=0" \
|
|
||||||
"__cpp_lib_char8_t=201811L" \
|
|
||||||
"TOML_DISABLE_ENVIRONMENT_CHECKS=" \
|
|
||||||
"TOML_ALWAYS_INLINE=inline" \
|
|
||||||
"TOML_MAY_THROW=" \
|
|
||||||
"TOML_NODISCARD_CTOR=" \
|
|
||||||
"TOML_EXTERNAL_LINKAGE=" \
|
|
||||||
"TOML_API=" \
|
|
||||||
"TOML_ATTR(...)=" \
|
|
||||||
"TOML_PUSH_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_SWITCH_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_INIT_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_SPAM_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_ARITHMETIC_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_SHADOW_WARNINGS=" \
|
|
||||||
"TOML_DISABLE_WARNINGS=" \
|
|
||||||
"TOML_ENABLE_WARNINGS=" \
|
|
||||||
"TOML_POP_WARNINGS=" \
|
|
||||||
"TOML_ASYMMETRICAL_EQUALITY_OPS(...)=" \
|
|
||||||
"TOML_NAMESPACE_START=namespace toml" \
|
|
||||||
"TOML_NAMESPACE_END=" \
|
|
||||||
"TOML_NAMESPACE=toml" \
|
|
||||||
"TOML_ABI_NAMESPACE_START(...)=" \
|
|
||||||
"TOML_ABI_NAMESPACE_BOOL(...)=" \
|
|
||||||
"TOML_ABI_NAMESPACE_END=" \
|
|
||||||
"TOML_IMPL_NAMESPACE_START=namespace toml { namespace impl" \
|
|
||||||
"TOML_IMPL_NAMESPACE_END=} }" \
|
|
||||||
"TOML_ANON_NAMESPACE_START=namespace" \
|
|
||||||
"TOML_ANON_NAMESPACE_END=" \
|
|
||||||
"TOML_ANON_NAMESPACE=" \
|
|
||||||
"TOML_USING_ANON_NAMESPACE=(void)0" \
|
|
||||||
"TOML_EXTERNAL_LINKAGE=" \
|
|
||||||
"TOML_TRIVIAL_ABI=" \
|
|
||||||
"TOML_EMPTY_BASES=" \
|
|
||||||
"TOML_ABSTRACT_BASE" \
|
|
||||||
"TOML_INTERNAL_LINKAGE=static"
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = NO
|
SKIP_FUNCTION_MACROS = NO
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES =
|
|
||||||
GENERATE_TAGFILE =
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
EXTERNAL_GROUPS = YES
|
|
||||||
EXTERNAL_PAGES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = NO
|
|
||||||
DIA_PATH =
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
DOT_NUM_THREADS = 0
|
|
||||||
DOT_FONTNAME = Helvetica
|
|
||||||
DOT_FONTSIZE = 10
|
|
||||||
DOT_FONTPATH =
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
GROUP_GRAPHS = YES
|
|
||||||
UML_LOOK = NO
|
|
||||||
UML_LIMIT_NUM_FIELDS = 10
|
|
||||||
TEMPLATE_RELATIONS = NO
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
CALL_GRAPH = YES
|
|
||||||
CALLER_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DIRECTORY_GRAPH = YES
|
|
||||||
DOT_IMAGE_FORMAT = png
|
|
||||||
INTERACTIVE_SVG = NO
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MSCFILE_DIRS =
|
|
||||||
DIAFILE_DIRS =
|
|
||||||
PLANTUML_JAR_PATH =
|
|
||||||
PLANTUML_CFG_FILE =
|
|
||||||
PLANTUML_INCLUDE_PATH =
|
|
||||||
DOT_GRAPH_MAX_NODES = 50
|
|
||||||
MAX_DOT_GRAPH_DEPTH = 0
|
|
||||||
DOT_TRANSPARENT = NO
|
|
||||||
DOT_MULTI_TARGETS = NO
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
@INCLUDE = ./Doxyfile
|
|
||||||
|
|
||||||
HTML_EXTRA_STYLESHEET = \
|
|
||||||
https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600 \
|
|
||||||
../css/m-dark+documentation.compiled.css \
|
|
||||||
muu.css
|
|
||||||
|
|
||||||
HTML_EXTRA_FILES = \
|
|
||||||
muu.js \
|
|
||||||
logo.png \
|
|
||||||
banner_small.png \
|
|
||||||
github-icon.png \
|
|
||||||
badge-awesome.svg \
|
|
||||||
badge-C++17.svg \
|
|
||||||
badge-C++20.svg \
|
|
||||||
badge-license-MIT.svg \
|
|
||||||
badge-TOML.svg
|
|
||||||
|
|
||||||
|
|
||||||
##! M_THEME_COLOR = #22272e
|
|
||||||
##! M_LINKS_NAVBAR1 = \
|
|
||||||
##! namespaces
|
|
||||||
##! M_LINKS_NAVBAR2 = \
|
|
||||||
##! annotated \
|
|
||||||
##! "<a target="_blank" href="https://github.com/marzer/tomlplusplus/" class="github">Github</a>"
|
|
||||||
##! M_SEARCH_DOWNLOAD_BINARY = NO
|
|
||||||
##! M_CLASS_TREE_EXPAND_LEVELS = 3
|
|
||||||
##! M_FILE_TREE_EXPAND_LEVELS = 3
|
|
||||||
##! M_PAGE_FINE_PRINT = <a target="_blank" href="https://github.com/marzer/tomlplusplus/">Github</a> • \
|
|
||||||
##! <a target="_blank" href="https://github.com/marzer/tomlplusplus/issues">Report an issue</a> \
|
|
||||||
##! <br><br>Documentation generated using <a href="https://mcss.mosra.cz/">m.css</a>
|
|
||||||
##! M_HTML_HEADER = <meta name="google-site-verification" content="gbtcNgKlNiPSMKkYMw4zWFVWGPH_oU93m9n_-nb4qK8" />\
|
|
||||||
##! <meta name="description" content="Header-only TOML config file parser and serializer for modern C++.">\
|
|
||||||
##! <script src="muu.js"></script>
|
|
||||||
##! M_FAVICON = favicon.ico
|
|
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="125" height="20"><g shape-rendering="crispEdges"><path fill="#555" d="M0 0h76v20H0z"/><path fill="#007ec6" d="M76 0h49v20H76z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJ3aGl0ZXNtb2tlIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+QysrIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0yMi4zOTMgNmMtLjE2Ny0uMjktLjM5OC0uNTQzLS42NTItLjY5TDEyLjkyNS4yMmMtLjUwOC0uMjkzLTEuMzM5LS4yOTMtMS44NDcgMEwyLjI2IDUuMzFjLS41MDguMjkzLS45MjMgMS4wMTMtLjkyMyAxLjZ2MTAuMThjMCAuMjk0LjEwNC42Mi4yNzEuOTEuMTY3LjI5LjM5OC41NDMuNjUyLjY4OWw4LjgxNiA1LjA5MWMuNTA4LjI5MyAxLjMzOS4yOTMgMS44NDcgMGw4LjgxNi01LjA5MWMuMjU0LS4xNDYuNDg1LS4zOTkuNjUyLS42ODlzLjI3MS0uNjE2LjI3MS0uOTFWNi45MWMuMDAyLS4yOTQtLjEwMi0uNjItLjI2OS0uOTF6TTEyIDE5LjEwOWMtMy45MiAwLTcuMTA5LTMuMTg5LTcuMTA5LTcuMTA5UzguMDggNC44OTEgMTIgNC44OTFhNy4xMzMgNy4xMzMgMCAwIDEgNi4xNTYgMy41NTJsLTMuMDc2IDEuNzgxQTMuNTY3IDMuNTY3IDAgMCAwIDEyIDguNDQ1Yy0xLjk2IDAtMy41NTQgMS41OTUtMy41NTQgMy41NTVTMTAuMDQgMTUuNTU1IDEyIDE1LjU1NWEzLjU3IDMuNTcgMCAwIDAgMy4wOC0xLjc3OGwzLjA3NyAxLjc4QTcuMTM1IDcuMTM1IDAgMCAxIDEyIDE5LjEwOXptNy4xMDktNi43MTRoLS43OXYuNzloLS43OXYtLjc5aC0uNzl2LS43OWguNzl2LS43OWguNzl2Ljc5aC43OXYuNzl6bTIuOTYyIDBoLS43OXYuNzloLS43OXYtLjc5aC0uNzg5di0uNzloLjc4OXYtLjc5aC43OXYuNzloLjc5di43OXoiLz48L3N2Zz4="/> <text x="475" y="140" transform="scale(.1)" textLength="490">standard</text><text x="995" y="140" transform="scale(.1)" textLength="390">C++17</text></g> </svg>
|
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="112" height="20" role="img" aria-label="TOML: v1.0.0"><title>TOML: v1.0.0</title><g shape-rendering="crispEdges"><rect width="41" height="20" fill="#555"/><rect x="41" width="71" height="20" fill="#007ec6"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="215" y="140" transform="scale(.1)" fill="#fff" textLength="310">TOML</text><text x="755" y="140" transform="scale(.1)" fill="#fff" textLength="610">v1.0.0</text></g></svg>
|
|
Before Width: | Height: | Size: 621 B |
@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="78" height="20"><g shape-rendering="crispEdges"><path fill="#555" d="M0 0h47v20H0z"/><path fill="purple" d="M47 0h31v20H47z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> <text x="245" y="140" transform="scale(.1)" textLength="370">license</text><text x="615" y="140" transform="scale(.1)" textLength="210">MIT</text></g> </svg>
|
|
Before Width: | Height: | Size: 482 B |
56
docs/dox.toml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
name = 'toml++'
|
||||||
|
description = 'TOML for modern C++'
|
||||||
|
cpp = 17
|
||||||
|
github = 'marzer/tomlplusplus'
|
||||||
|
license = [ 'MIT', 'https://github.com/marzer/tomlplusplus/blob/master/LICENSE' ]
|
||||||
|
show_includes = false
|
||||||
|
logo = 'images/logo.png'
|
||||||
|
favicon = 'images/favicon.ico'
|
||||||
|
navbar = [ 'namespaces', 'annotated' ]
|
||||||
|
extra_files = [
|
||||||
|
'images/banner_small.png',
|
||||||
|
'images/badge-awesome.svg',
|
||||||
|
'images/badge-TOML.svg',
|
||||||
|
'images/badge-C++20.svg'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[warnings]
|
||||||
|
enabled = true
|
||||||
|
treat_as_errors = false
|
||||||
|
undocumented = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[defines]
|
||||||
|
'TOML_ASYMMETRICAL_EQUALITY_OPS(...)' = 'static_assert(true)'
|
||||||
|
'TOML_ABI_NAMESPACE_START(...)' = ''
|
||||||
|
'TOML_ABI_NAMESPACE_BOOL(...)' = ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[meta]
|
||||||
|
'google-site-verification' = 'gbtcNgKlNiPSMKkYMw4zWFVWGPH_oU93m9n_-nb4qK8'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[highlighting]
|
||||||
|
types = []
|
||||||
|
macros = [
|
||||||
|
'TOML_[A-Z0-9_]+?',
|
||||||
|
'print_value'
|
||||||
|
]
|
||||||
|
string_literals = [ '_toml' ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[badges]
|
||||||
|
'1. C++20' = [ 'badge-C++20.svg', 'https://en.cppreference.com/w/cpp/compiler_support' ]
|
||||||
|
'2. TOML v1.0.0' = [ 'badge-TOML.svg', 'https://toml.io/en/v1.0.0' ]
|
||||||
|
'3. CircleCI' = [ 'https://img.shields.io/circleci/build/github/marzer/tomlplusplus?label=circle%20ci&logo=circleci&logoColor=white&style=flat-square', 'https://circleci.com/gh/marzer/tomlplusplus' ]
|
||||||
|
'4. Mentioned in Awesome C++' = [ 'badge-awesome.svg', 'https://github.com/fffaraz/awesome-cpp' ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[autolinks]
|
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
1
docs/images/badge-TOML.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="86" height="20" role="img" aria-label="TOML: v1.0.0"><title>TOML: v1.0.0</title><g shape-rendering="crispEdges"><rect width="41" height="20" fill="#555"/><rect x="41" width="45" height="20" fill="#007ec6"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="215" y="140" transform="scale(.1)" fill="#fff" textLength="310">TOML</text><text x="625" y="140" transform="scale(.1)" fill="#fff" textLength="350">v1.0.0</text></g></svg>
|
After Width: | Height: | Size: 620 B |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
337
docs/muu.css
@ -1,337 +0,0 @@
|
|||||||
html, body
|
|
||||||
{
|
|
||||||
scroll-padding-top: 3.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
body
|
|
||||||
{
|
|
||||||
margin-top: 3rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) and (max-width: 991px)
|
|
||||||
{
|
|
||||||
body
|
|
||||||
{
|
|
||||||
margin-top: 6rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
a
|
|
||||||
{
|
|
||||||
text-decoration: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
header
|
|
||||||
{
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
header, header *
|
|
||||||
{
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
article, article > header, article div > section
|
|
||||||
{
|
|
||||||
margin-bottom: 5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
article div > section > section
|
|
||||||
{
|
|
||||||
margin-bottom: 2.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
article section.m-doc-details > div
|
|
||||||
{
|
|
||||||
background-color: rgba(0,0,0,0.07)
|
|
||||||
}
|
|
||||||
|
|
||||||
article section.m-doc-details > div > h3:first-child
|
|
||||||
{
|
|
||||||
background-color: #22272e;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre, code, .muu-enable-if > a
|
|
||||||
{
|
|
||||||
font-family: 'Consolas', 'Source Code Pro', monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.muu-external
|
|
||||||
{
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
pre a.muu-external,
|
|
||||||
pre a.muu-injected
|
|
||||||
{
|
|
||||||
font-weight: inherit !important;
|
|
||||||
color: inherit !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muu-enable-if
|
|
||||||
{
|
|
||||||
margin-bottom: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muu-enable-if > *
|
|
||||||
{
|
|
||||||
display: inline-block;
|
|
||||||
border-radius: 0.2rem;
|
|
||||||
background-clip: padding-box !important;
|
|
||||||
padding: 0px 2px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muu-enable-if > a
|
|
||||||
{
|
|
||||||
white-space: nowrap;
|
|
||||||
font-size: 0.7rem;
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #858585;
|
|
||||||
color: #050505;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muu-enable-if > a:hover
|
|
||||||
{
|
|
||||||
background-color: #747474;
|
|
||||||
color: initial;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muu-enable-if > span
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
padding-left: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 576px)
|
|
||||||
{
|
|
||||||
nav .m-thin
|
|
||||||
{
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
nav .github
|
|
||||||
{
|
|
||||||
padding-left: 44px !important;
|
|
||||||
background-image: url("github-icon.png");
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: 25px 25px;
|
|
||||||
background-position: -30px center;
|
|
||||||
background-origin: content-box;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 575px)
|
|
||||||
{
|
|
||||||
nav .m-thin, nav .github
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* code blocks w/ output examples */
|
|
||||||
pre.m-code + pre.m-console
|
|
||||||
{
|
|
||||||
margin-top: -1.0rem;
|
|
||||||
border-top: 1px solid #444444;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
background-color: #1a1c1d !important;
|
|
||||||
}
|
|
||||||
pre.m-code + pre.m-console span
|
|
||||||
{
|
|
||||||
color: #bababa; /* is yououou */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* "Parameters", "Returns" etc */
|
|
||||||
.m-doc-details div table.m-table th,
|
|
||||||
.m-doc-details div table.m-table td strong em,
|
|
||||||
.m-doc-details div table.m-table td strong em,
|
|
||||||
body article p strong em,
|
|
||||||
body article table strong em
|
|
||||||
{
|
|
||||||
color: #a5c9ea;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* comments */
|
|
||||||
.m-code .c1
|
|
||||||
{
|
|
||||||
color: rgb(87,166,74);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* int and float literals */
|
|
||||||
.m-code .mb,
|
|
||||||
.m-code .mi,
|
|
||||||
.m-code .mf,
|
|
||||||
.m-code .mh
|
|
||||||
{
|
|
||||||
color: rgb(181,206,168);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* keywords */
|
|
||||||
.m-code .k
|
|
||||||
{
|
|
||||||
color: rgb(86,156,214);
|
|
||||||
}
|
|
||||||
.m-code .kt,
|
|
||||||
.m-code .k,
|
|
||||||
.m-code .nc
|
|
||||||
{
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* identifier names */
|
|
||||||
.m-code .n
|
|
||||||
{
|
|
||||||
color: rgb(220,220,220);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* punctuators (brackets etc) */
|
|
||||||
.m-code .p
|
|
||||||
{
|
|
||||||
color: rgb(120,120,120);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* preprocessor directives */
|
|
||||||
.m-code .cp
|
|
||||||
{
|
|
||||||
color: rgb(120,120,120);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* macros */
|
|
||||||
.m-code .m
|
|
||||||
{
|
|
||||||
color: rgb(190,183,255);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* string literals, "includes" */
|
|
||||||
.m-code .s,
|
|
||||||
.m-code .sa,
|
|
||||||
.m-code .dl,
|
|
||||||
.m-code .cpf
|
|
||||||
{
|
|
||||||
color: rgb(214,157,133);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* user types and typedefs */
|
|
||||||
.m-code .ut,
|
|
||||||
.m-code .nc
|
|
||||||
{
|
|
||||||
color: rgb(78,201,176);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* namespace::scopes:: */
|
|
||||||
.m-code .ns
|
|
||||||
{
|
|
||||||
color: rgb(140,140,140);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* github badges (index.html) */
|
|
||||||
.gh-badges
|
|
||||||
{
|
|
||||||
padding-bottom: 0.25rem;
|
|
||||||
margin-left: -0.9rem;
|
|
||||||
margin-right: -0.9rem;
|
|
||||||
margin-top: -0.5rem;
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 992px)
|
|
||||||
{
|
|
||||||
.gh-badges
|
|
||||||
{
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
.gh-badges br
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 991px)
|
|
||||||
{
|
|
||||||
.gh-badges
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
}
|
|
||||||
.gh-badges a
|
|
||||||
{
|
|
||||||
margin-left: 0.2rem;
|
|
||||||
margin-right: 0.2rem;
|
|
||||||
margin-bottom: 0.4rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* page category subheading ("module" etc) */
|
|
||||||
h1 span.m-thin
|
|
||||||
{
|
|
||||||
color: #747474;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* banner on index page */
|
|
||||||
main > article > .m-container.m-container-inflatable > .m-row > div.m-col-l-10.m-push-l-1 > img.m-image
|
|
||||||
{
|
|
||||||
border-color: #405363;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 0.1rem;
|
|
||||||
margin-left: -1rem;
|
|
||||||
margin-right: -1rem;
|
|
||||||
margin-top: -1.75rem;
|
|
||||||
max-width: calc(100% + 2rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* include <blah.h> */
|
|
||||||
.m-doc-details div h3
|
|
||||||
{
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
h1 .m-doc-include,
|
|
||||||
h3 .m-doc-include
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
h1 .m-doc-include *,
|
|
||||||
h3 .m-doc-include *
|
|
||||||
{
|
|
||||||
opacity: 1.0 !important;
|
|
||||||
}
|
|
||||||
h1 .m-doc-include .cp,
|
|
||||||
h3 .m-doc-include .cp
|
|
||||||
{
|
|
||||||
color: #747474;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* "Try this code on Compiler Explorer" */
|
|
||||||
.godbolt
|
|
||||||
{
|
|
||||||
font-family: 'Source Sans Pro', sans-serif;
|
|
||||||
}
|
|
||||||
p.godbolt
|
|
||||||
{
|
|
||||||
text-align: center;
|
|
||||||
padding: 0.0rem;
|
|
||||||
text-indent: 0.0rem;
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
p.godbolt:hover
|
|
||||||
{
|
|
||||||
opacity: 1.0;
|
|
||||||
}
|
|
||||||
a.godbolt
|
|
||||||
{
|
|
||||||
padding: 0.5rem;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
pre > p.godbolt
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 767px)
|
|
||||||
{
|
|
||||||
.godbolt
|
|
||||||
{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
18
docs/muu.js
@ -1,18 +0,0 @@
|
|||||||
function ToggleEnableIf(anchor)
|
|
||||||
{
|
|
||||||
if (!anchor.hasOwnProperty('enableIfHidden'))
|
|
||||||
anchor['enableIfHidden'] = true;
|
|
||||||
anchor.enableIfHidden = !anchor.enableIfHidden;
|
|
||||||
|
|
||||||
content = anchor.parentNode.getElementsByTagName('span')[0]
|
|
||||||
if (anchor.enableIfHidden)
|
|
||||||
{
|
|
||||||
anchor.style.display = "";
|
|
||||||
content.style.display = "";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
anchor.style.display = "none";
|
|
||||||
content.style.display = "block";
|
|
||||||
}
|
|
||||||
}
|
|
@ -424,7 +424,7 @@
|
|||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
///
|
///
|
||||||
/// \subsection mainpage-adding-lib-old-school "The old fashioned way"
|
/// \subsection mainpage-adding-lib-old-school "The old fashioned way"
|
||||||
/// Clone \gh2{marzer/tomlplusplus, the repository} from GitHub, and then:
|
/// Clone \github{marzer/tomlplusplus, the repository} from GitHub, and then:
|
||||||
///
|
///
|
||||||
/// <h3>[emoji icecream] Single-header flavour</h3>
|
/// <h3>[emoji icecream] Single-header flavour</h3>
|
||||||
/// 1. Drop `toml.hpp` wherever you like in your source tree
|
/// 1. Drop `toml.hpp` wherever you like in your source tree
|
||||||
@ -475,7 +475,7 @@
|
|||||||
///
|
///
|
||||||
/// \subsection mainpage-adding-lib-python Special mention: Python
|
/// \subsection mainpage-adding-lib-python Special mention: Python
|
||||||
/// Yes, you read correctly, python. There exists a python wrapper built around toml++ called
|
/// Yes, you read correctly, python. There exists a python wrapper built around toml++ called
|
||||||
/// \gh2{bobfang1992/pytomlpp, pytomlpp}:
|
/// \github{bobfang1992/pytomlpp, pytomlpp}:
|
||||||
///
|
///
|
||||||
/// \bash
|
/// \bash
|
||||||
/// pip install pytomlpp
|
/// pip install pytomlpp
|
||||||
@ -496,9 +496,9 @@
|
|||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
///
|
///
|
||||||
/// \section mainpage-contributing Contributing
|
/// \section mainpage-contributing Contributing
|
||||||
/// Contributions are very welcome! Either by \gh2{marzer/tomlplusplus/issues, reporting issues}
|
/// Contributions are very welcome! Either by \github{marzer/tomlplusplus/issues, reporting issues}
|
||||||
/// or submitting pull requests. If you wish to submit a pull request,
|
/// or submitting pull requests. If you wish to submit a pull request,
|
||||||
/// please see \gh2{marzer/tomlplusplus/blob/master/CONTRIBUTING.md, CONTRIBUTING}
|
/// please see \github{marzer/tomlplusplus/blob/master/CONTRIBUTING.md, CONTRIBUTING}
|
||||||
/// for all the details you need to get going.
|
/// for all the details you need to get going.
|
||||||
///
|
///
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
@ -516,7 +516,7 @@
|
|||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
///
|
///
|
||||||
/// \section mainpage-contact Contacting the author
|
/// \section mainpage-contact Contacting the author
|
||||||
/// For bug reports and feature requests please use the \gh2{marzer/tomlplusplus/issues, Github Issues}
|
/// For bug reports and feature requests please use the \github{marzer/tomlplusplus/issues, Github Issues}
|
||||||
/// system. For anything else you're welcome to reach out via other means. In order of likely response speed:
|
/// system. For anything else you're welcome to reach out via other means. In order of likely response speed:
|
||||||
/// - Twitter: [marzer8789](https://twitter.com/marzer8789)
|
/// - Twitter: [marzer8789](https://twitter.com/marzer8789)
|
||||||
/// - Email: [mark.gillard@outlook.com.au](mailto:mark.gillard@outlook.com.au)
|
/// - Email: [mark.gillard@outlook.com.au](mailto:mark.gillard@outlook.com.au)
|
@ -33,18 +33,18 @@
|
|||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="toml++.props" />
|
<Import Project="..\toml++.props" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="toml++.natvis" />
|
<Natvis Include="..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\examples\error_printer.cpp" />
|
<ClCompile Include="error_printer.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\examples\meson.build" />
|
<None Include="meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -33,19 +33,19 @@
|
|||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="toml++.props" />
|
<Import Project="..\toml++.props" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\examples\simple_parser.cpp" />
|
<ClCompile Include="simple_parser.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\examples\example.toml" />
|
<None Include="example.toml" />
|
||||||
<None Include="..\examples\meson.build" />
|
<None Include="meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="toml++.natvis" />
|
<Natvis Include="..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -34,18 +34,18 @@
|
|||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="toml++.props" />
|
<Import Project="..\toml++.props" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\examples\toml_generator.cpp" />
|
<ClCompile Include="toml_generator.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="toml++.natvis" />
|
<Natvis Include="..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\examples\meson.build" />
|
<None Include="meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -34,18 +34,18 @@
|
|||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="toml++.props" />
|
<Import Project="..\toml++.props" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\examples\toml_to_json_transcoder.cpp" />
|
<ClCompile Include="toml_to_json_transcoder.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="toml++.natvis" />
|
<Natvis Include="..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\examples\meson.build" />
|
<None Include="meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
1
extern/Catch2
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 87074da73ecb1c2e7c35fd14f50ca21c4c002adc
|
|
1
extern/mcss
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 42d4a9a48f31f5df6e246c948403b54b50574a2a
|
|
1
extern/tloptional
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 0dfc7b4e41b1245e47936d6c99bf8e3d80e42b9f
|
|
1
external/Catch2
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 5c88067bd339465513af4aec606bd2292f1b594a
|
1
external/dox
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7b0185b36ed56e4963315aafdc444818b97d21f3
|
1
external/tloptional
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit e28828efa021bf51f1c8cc3248642ec5a636c8d7
|
0
extern/toml-test → external/toml-test
vendored
@ -12,8 +12,8 @@
|
|||||||
|
|
||||||
#include "toml_preprocessor.h"
|
#include "toml_preprocessor.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SPAM_WARNINGS
|
TOML_DISABLE_SPAM_WARNINGS;
|
||||||
|
|
||||||
#include "toml_common.h"
|
#include "toml_common.h"
|
||||||
#include "toml_date_time.h"
|
#include "toml_date_time.h"
|
||||||
@ -50,7 +50,7 @@ TOML_DISABLE_SPAM_WARNINGS
|
|||||||
|
|
||||||
#endif // TOML_IMPLEMENTATION
|
#endif // TOML_IMPLEMENTATION
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SPAM_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SPAM_WARNINGS
|
||||||
|
|
||||||
// macro hygiene
|
// macro hygiene
|
||||||
#if TOML_UNDEF_MACROS
|
#if TOML_UNDEF_MACROS
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "toml_value.h"
|
#include "toml_value.h"
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <bool IsConst>
|
template <bool IsConst>
|
||||||
@ -165,7 +166,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return *(raw_ + idx)->get();
|
return *(raw_ + idx)->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
|
|
||||||
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
||||||
operator array_iterator<true>() const noexcept
|
operator array_iterator<true>() const noexcept
|
||||||
@ -173,7 +174,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return array_iterator<true>{ raw_ };
|
return array_iterator<true>{ raw_ };
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -248,7 +249,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return make_node(std::move(val.value));
|
return make_node(std::move(val.value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -313,6 +315,8 @@ TOML_NAMESPACE_START
|
|||||||
: public node
|
: public node
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
/// \cond
|
||||||
|
|
||||||
friend class TOML_PARSER_TYPENAME;
|
friend class TOML_PARSER_TYPENAME;
|
||||||
std::vector<std::unique_ptr<node>> elements;
|
std::vector<std::unique_ptr<node>> elements;
|
||||||
|
|
||||||
@ -334,6 +338,11 @@ TOML_NAMESPACE_START
|
|||||||
void lh_dtor() noexcept;
|
void lh_dtor() noexcept;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
[[nodiscard]] size_t total_leaf_count() const noexcept;
|
||||||
|
|
||||||
|
void flatten_child(array&& child, size_t& dest_index) noexcept;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
using value_type = node;
|
using value_type = node;
|
||||||
@ -423,6 +432,9 @@ TOML_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \name Type checks
|
||||||
|
/// @{
|
||||||
|
|
||||||
[[nodiscard]] node_type type() const noexcept override;
|
[[nodiscard]] node_type type() const noexcept override;
|
||||||
[[nodiscard]] bool is_table() const noexcept override;
|
[[nodiscard]] bool is_table() const noexcept override;
|
||||||
[[nodiscard]] bool is_array() const noexcept override;
|
[[nodiscard]] bool is_array() const noexcept override;
|
||||||
@ -449,6 +461,11 @@ TOML_NAMESPACE_START
|
|||||||
return is_homogeneous(impl::node_type_of<type>);
|
return is_homogeneous(impl::node_type_of<type>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Array operations
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Gets a reference to the element at a specific index.
|
/// \brief Gets a reference to the element at a specific index.
|
||||||
[[nodiscard]] node& operator[] (size_t index) noexcept;
|
[[nodiscard]] node& operator[] (size_t index) noexcept;
|
||||||
/// \brief Gets a reference to the element at a specific index.
|
/// \brief Gets a reference to the element at a specific index.
|
||||||
@ -512,10 +529,9 @@ TOML_NAMESPACE_START
|
|||||||
/// \param pos The insertion position.
|
/// \param pos The insertion position.
|
||||||
/// \param val The node or value being inserted.
|
/// \param val The node or value being inserted.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// An iterator to the newly-inserted element.
|
/// An iterator to the newly-inserted element.
|
||||||
/// <br><br>
|
/// \conditional_return{Input is an empty toml::node_view}
|
||||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
|
||||||
/// end()
|
/// end()
|
||||||
///
|
///
|
||||||
/// \attention The return value will always be `end()` if the input value was an empty toml::node_view,
|
/// \attention The return value will always be `end()` if the input value was an empty toml::node_view,
|
||||||
@ -559,13 +575,11 @@ TOML_NAMESPACE_START
|
|||||||
/// \param count The number of times the node or value should be inserted.
|
/// \param count The number of times the node or value should be inserted.
|
||||||
/// \param val The node or value being inserted.
|
/// \param val The node or value being inserted.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// An iterator to the newly-inserted element.
|
/// An iterator to the newly-inserted element.
|
||||||
/// <br><br>
|
/// \conditional_return{count == 0}
|
||||||
/// <strong><em>`count == 0`:</em></strong><br>
|
|
||||||
/// A copy of pos
|
/// A copy of pos
|
||||||
/// <br><br>
|
/// \conditional_return{Input is an empty toml::node_view}
|
||||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
|
||||||
/// end()
|
/// end()
|
||||||
///
|
///
|
||||||
/// \attention The return value will always be `end()` if the input value was an empty toml::node_view,
|
/// \attention The return value will always be `end()` if the input value was an empty toml::node_view,
|
||||||
@ -604,13 +618,11 @@ TOML_NAMESPACE_START
|
|||||||
/// \param first Iterator to the first node or value being inserted.
|
/// \param first Iterator to the first node or value being inserted.
|
||||||
/// \param last Iterator to the one-past-the-last node or value being inserted.
|
/// \param last Iterator to the one-past-the-last node or value being inserted.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// An iterator to the first newly-inserted element.
|
/// An iterator to the first newly-inserted element.
|
||||||
/// <br><br>
|
/// \conditional_return{first >= last}
|
||||||
/// <strong><em>`first >= last`:</em></strong><br>
|
|
||||||
/// A copy of pos
|
/// A copy of pos
|
||||||
/// <br><br>
|
/// \conditional_return{All objects in the range were empty toml::node_views}
|
||||||
/// <strong><em>All objects in the range were empty toml::node_views:</em></strong><br>
|
|
||||||
/// A copy of pos
|
/// A copy of pos
|
||||||
template <typename Iter>
|
template <typename Iter>
|
||||||
iterator insert(const_iterator pos, Iter first, Iter last) noexcept
|
iterator insert(const_iterator pos, Iter first, Iter last) noexcept
|
||||||
@ -656,14 +668,12 @@ TOML_NAMESPACE_START
|
|||||||
/// \param pos The insertion position.
|
/// \param pos The insertion position.
|
||||||
/// \param ilist An initializer list containing the values to be inserted.
|
/// \param ilist An initializer list containing the values to be inserted.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// An iterator to the first newly-inserted element.
|
/// An iterator to the first newly-inserted element.
|
||||||
/// <br><br>
|
/// \conditional_return{Input list is empty}
|
||||||
/// <strong><em>`ilist.size() == 0`:</em></strong><br>
|
/// A copy of pos
|
||||||
/// A copy of pos
|
/// \conditional_return{All objects in the list were empty toml::node_views}
|
||||||
/// <br><br>
|
/// A copy of pos
|
||||||
/// <strong><em>All objects in the list were empty toml::node_views:</em></strong><br>
|
|
||||||
/// A copy of pos
|
|
||||||
template <typename ElemType>
|
template <typename ElemType>
|
||||||
iterator insert(const_iterator pos, std::initializer_list<ElemType> ilist) noexcept
|
iterator insert(const_iterator pos, std::initializer_list<ElemType> ilist) noexcept
|
||||||
{
|
{
|
||||||
@ -955,6 +965,40 @@ TOML_NAMESPACE_START
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \brief Flattens this array, recursively hoisting the contents of child arrays up into itself.
|
||||||
|
///
|
||||||
|
/// \detail \cpp
|
||||||
|
///
|
||||||
|
/// auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
|
||||||
|
/// std::cout << arr << "\n";
|
||||||
|
///
|
||||||
|
/// arr.flatten();
|
||||||
|
/// std::cout << arr << "\n";
|
||||||
|
///
|
||||||
|
/// \ecpp
|
||||||
|
///
|
||||||
|
/// \out
|
||||||
|
/// [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
|
||||||
|
/// [ 1, 2, 3, 4, 5, 6 ]
|
||||||
|
/// \eout
|
||||||
|
///
|
||||||
|
/// \remarks Arrays inside child tables are not flattened.
|
||||||
|
///
|
||||||
|
/// \returns A reference to the array.
|
||||||
|
array& flatten()&;
|
||||||
|
|
||||||
|
/// \brief Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
|
||||||
|
/// \returns An rvalue reference to the array.
|
||||||
|
array&& flatten()&&
|
||||||
|
{
|
||||||
|
return static_cast<toml::array&&>(this->flatten());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Equality
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Equality operator.
|
/// \brief Equality operator.
|
||||||
///
|
///
|
||||||
/// \param lhs The LHS array.
|
/// \param lhs The LHS array.
|
||||||
@ -999,10 +1043,6 @@ TOML_NAMESPACE_START
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] size_t total_leaf_count() const noexcept;
|
|
||||||
|
|
||||||
void flatten_child(array&& child, size_t& dest_index) noexcept;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \brief Initializer list equality operator.
|
/// \brief Initializer list equality operator.
|
||||||
@ -1012,7 +1052,7 @@ TOML_NAMESPACE_START
|
|||||||
{
|
{
|
||||||
return container_equality(lhs, rhs);
|
return container_equality(lhs, rhs);
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const array&, const std::initializer_list<T>&, template <typename T>)
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const array&, const std::initializer_list<T>&, template <typename T>);
|
||||||
|
|
||||||
/// \brief Vector equality operator.
|
/// \brief Vector equality operator.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -1021,36 +1061,9 @@ TOML_NAMESPACE_START
|
|||||||
{
|
{
|
||||||
return container_equality(lhs, rhs);
|
return container_equality(lhs, rhs);
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const array&, const std::vector<T>&, template <typename T>)
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const array&, const std::vector<T>&, template <typename T>);
|
||||||
|
|
||||||
/// \brief Flattens this array, recursively hoisting the contents of child arrays up into itself.
|
/// @}
|
||||||
///
|
|
||||||
/// \detail \cpp
|
|
||||||
///
|
|
||||||
/// auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
|
|
||||||
/// std::cout << arr << "\n";
|
|
||||||
///
|
|
||||||
/// arr.flatten();
|
|
||||||
/// std::cout << arr << "\n";
|
|
||||||
///
|
|
||||||
/// \ecpp
|
|
||||||
///
|
|
||||||
/// \out
|
|
||||||
/// [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
|
|
||||||
/// [ 1, 2, 3, 4, 5, 6 ]
|
|
||||||
/// \eout
|
|
||||||
///
|
|
||||||
/// \remarks Arrays inside child tables are not flattened.
|
|
||||||
///
|
|
||||||
/// \returns A reference to the array.
|
|
||||||
array& flatten() &;
|
|
||||||
|
|
||||||
/// \brief Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
|
|
||||||
/// \returns An rvalue reference to the array.
|
|
||||||
array&& flatten() &&
|
|
||||||
{
|
|
||||||
return static_cast<toml::array&&>(this->flatten());
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \brief Prints the array out to a stream as formatted TOML.
|
/// \brief Prints the array out to a stream as formatted TOML.
|
||||||
template <typename Char>
|
template <typename Char>
|
||||||
@ -1058,4 +1071,4 @@ TOML_NAMESPACE_START
|
|||||||
// implemented in toml_default_formatter.h
|
// implemented in toml_default_formatter.h
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -355,4 +355,4 @@ TOML_NAMESPACE_START
|
|||||||
return is_homogeneous(node_type::table);
|
return is_homogeneous(node_type::table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
//# INCLUDES
|
//# INCLUDES
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
@ -30,7 +30,7 @@ TOML_DISABLE_WARNINGS
|
|||||||
#if TOML_HAS_INCLUDE(<version>)
|
#if TOML_HAS_INCLUDE(<version>)
|
||||||
#include <version>
|
#include <version>
|
||||||
#endif
|
#endif
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
#ifdef __cpp_lib_launder
|
#ifdef __cpp_lib_launder
|
||||||
#define TOML_LAUNDER(x) std::launder(x)
|
#define TOML_LAUNDER(x) std::launder(x)
|
||||||
@ -42,7 +42,7 @@ TOML_ENABLE_WARNINGS
|
|||||||
//# ENVIRONMENT GROUND-TRUTHS
|
//# ENVIRONMENT GROUND-TRUTHS
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/// \cond
|
||||||
#ifndef TOML_DISABLE_ENVIRONMENT_CHECKS
|
#ifndef TOML_DISABLE_ENVIRONMENT_CHECKS
|
||||||
#define TOML_ENV_MESSAGE \
|
#define TOML_ENV_MESSAGE \
|
||||||
"If you're seeing this error it's because you're building toml++ for an environment that doesn't conform to " \
|
"If you're seeing this error it's because you're building toml++ for an environment that doesn't conform to " \
|
||||||
@ -61,13 +61,14 @@ static_assert(std::numeric_limits<double>::digits10 == 15, TOML_ENV_MESSAGE);
|
|||||||
|
|
||||||
#undef TOML_ENV_MESSAGE
|
#undef TOML_ENV_MESSAGE
|
||||||
#endif // !TOML_DISABLE_ENVIRONMENT_CHECKS
|
#endif // !TOML_DISABLE_ENVIRONMENT_CHECKS
|
||||||
#endif // !DOXYGEN
|
/// \endcond
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# UNDOCUMENTED TYPEDEFS AND FORWARD DECLARATIONS
|
//# UNDOCUMENTED TYPEDEFS AND FORWARD DECLARATIONS
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
#ifndef DOXYGEN // undocumented forward declarations are hidden from doxygen because they fuck it up =/
|
/// \cond
|
||||||
|
// undocumented forward declarations are hidden from doxygen because they fuck it up =/
|
||||||
|
|
||||||
namespace toml // non-abi namespace; this is not an error
|
namespace toml // non-abi namespace; this is not an error
|
||||||
{
|
{
|
||||||
@ -103,7 +104,7 @@ TOML_NAMESPACE_START // abi namespace
|
|||||||
|
|
||||||
TOML_ABI_NAMESPACE_BOOL(TOML_HAS_CUSTOM_OPTIONAL_TYPE, custopt, stdopt)
|
TOML_ABI_NAMESPACE_BOOL(TOML_HAS_CUSTOM_OPTIONAL_TYPE, custopt, stdopt)
|
||||||
struct date_time;
|
struct date_time;
|
||||||
TOML_ABI_NAMESPACE_END
|
TOML_ABI_NAMESPACE_END;
|
||||||
|
|
||||||
class node;
|
class node;
|
||||||
class array;
|
class array;
|
||||||
@ -182,12 +183,12 @@ TOML_NAMESPACE_START // abi namespace
|
|||||||
#define TOML_PARSER_TYPENAME TOML_NAMESPACE::impl::parser
|
#define TOML_PARSER_TYPENAME TOML_NAMESPACE::impl::parser
|
||||||
#endif
|
#endif
|
||||||
class parser;
|
class parser;
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
#endif // !DOXYGEN
|
/// \endcond
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# TYPEDEFS AND FORWARD DECLARATIONS
|
//# TYPEDEFS AND FORWARD DECLARATIONS
|
||||||
@ -271,12 +272,13 @@ TOML_NAMESPACE_START // abi namespace
|
|||||||
};
|
};
|
||||||
template <typename T> inserter(T&&) -> inserter<T>;
|
template <typename T> inserter(T&&) -> inserter<T>;
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# VALUE AND NODE TRAITS
|
//# VALUE AND NODE TRAITS
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
// general value traits
|
// general value traits
|
||||||
@ -529,7 +531,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
inline constexpr node_type node_type_of = node_type_getter<unwrap_node<remove_cvref_t<T>>>::value;
|
inline constexpr node_type node_type_of = node_type_getter<unwrap_node<remove_cvref_t<T>>>::value;
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -577,12 +580,13 @@ TOML_NAMESPACE_START
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
inline constexpr bool is_node_view = impl::is_one_of<impl::remove_cvref_t<T>, node_view<node>, node_view<const node>>;
|
inline constexpr bool is_node_view = impl::is_one_of<impl::remove_cvref_t<T>, node_view<node>, node_view<const node>>;
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# INTERNAL HELPERS
|
//# INTERNAL HELPERS
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -677,7 +681,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
"date-time"sv
|
"date-time"sv
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -689,7 +694,7 @@ TOML_NAMESPACE_START
|
|||||||
return static_cast<size_t>(n);
|
return static_cast<size_t>(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# SOURCE POSITIONS & REGIONS
|
//# SOURCE POSITIONS & REGIONS
|
||||||
@ -824,10 +829,10 @@ TOML_NAMESPACE_START
|
|||||||
#if TOML_WINDOWS_COMPAT
|
#if TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
/// \brief The path to the corresponding source document as a wide-string.
|
/// \brief The path to the corresponding source document as a wide-string.
|
||||||
|
///
|
||||||
|
/// \availability This function is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
///
|
///
|
||||||
/// \remarks This will return an empty optional if no path was provided to toml::parse().
|
/// \remarks This will return an empty optional if no path was provided to toml::parse().
|
||||||
///
|
|
||||||
/// \attention This function is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
optional<std::wstring> wide_path() const noexcept
|
optional<std::wstring> wide_path() const noexcept
|
||||||
{
|
{
|
||||||
@ -839,9 +844,9 @@ TOML_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_LARGE_FILES
|
TOML_ABI_NAMESPACE_END; // TOML_LARGE_FILES
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# OTHER
|
//# OTHER
|
||||||
@ -864,7 +869,7 @@ TOML_NAMESPACE_START
|
|||||||
/// \brief Format integer values as hexadecimal.
|
/// \brief Format integer values as hexadecimal.
|
||||||
format_as_hexadecimal = 3,
|
format_as_hexadecimal = 3,
|
||||||
};
|
};
|
||||||
TOML_MAKE_BITOPS(value_flags)
|
TOML_MAKE_BITOPS(value_flags);
|
||||||
|
|
||||||
/// \brief Format flags for modifying how TOML data is printed to streams.
|
/// \brief Format flags for modifying how TOML data is printed to streams.
|
||||||
enum class format_flags : uint8_t
|
enum class format_flags : uint8_t
|
||||||
@ -884,7 +889,7 @@ TOML_NAMESPACE_START
|
|||||||
/// \brief Values with special format flags will be formatted accordingly.
|
/// \brief Values with special format flags will be formatted accordingly.
|
||||||
allow_value_format_flags = 8,
|
allow_value_format_flags = 8,
|
||||||
};
|
};
|
||||||
TOML_MAKE_BITOPS(format_flags)
|
TOML_MAKE_BITOPS(format_flags);
|
||||||
|
|
||||||
/// \brief Pretty-prints the value of a node_type to a stream.
|
/// \brief Pretty-prints the value of a node_type to a stream.
|
||||||
///
|
///
|
||||||
@ -917,8 +922,7 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/// \cond
|
||||||
|
|
||||||
namespace impl
|
namespace impl
|
||||||
{
|
{
|
||||||
#define TOML_P2S_DECL(Type) \
|
#define TOML_P2S_DECL(Type) \
|
||||||
@ -949,7 +953,7 @@ TOML_NAMESPACE_START
|
|||||||
extern template TOML_API std::ostream& operator << (std::ostream&, node_type);
|
extern template TOML_API std::ostream& operator << (std::ostream&, node_type);
|
||||||
#endif // !TOML_HEADER_ONLY
|
#endif // !TOML_HEADER_ONLY
|
||||||
|
|
||||||
#endif // !DOXYGEN
|
/// \endcond
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
|
@ -400,7 +400,7 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_HAS_CUSTOM_OPTIONAL_TYPE
|
TOML_ABI_NAMESPACE_END; // TOML_HAS_CUSTOM_OPTIONAL_TYPE
|
||||||
|
|
||||||
/// \brief Prints a date_time out to a stream in RFC 3339 format.
|
/// \brief Prints a date_time out to a stream in RFC 3339 format.
|
||||||
/// \detail \cpp
|
/// \detail \cpp
|
||||||
@ -425,4 +425,4 @@ TOML_NAMESPACE_START
|
|||||||
extern template TOML_API std::ostream& operator << (std::ostream&, const date_time&);
|
extern template TOML_API std::ostream& operator << (std::ostream&, const date_time&);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -9,16 +9,18 @@
|
|||||||
#include "toml_array.h"
|
#include "toml_array.h"
|
||||||
#include "toml_utf8.h"
|
#include "toml_utf8.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
[[nodiscard]] TOML_API std::string default_formatter_make_key_segment(const std::string&) noexcept;
|
[[nodiscard]] TOML_API std::string default_formatter_make_key_segment(const std::string&) noexcept;
|
||||||
[[nodiscard]] TOML_API size_t default_formatter_inline_columns(const node&) noexcept;
|
[[nodiscard]] TOML_API size_t default_formatter_inline_columns(const node&) noexcept;
|
||||||
[[nodiscard]] TOML_API bool default_formatter_forces_multiline(const node&, size_t = 0) noexcept;
|
[[nodiscard]] TOML_API bool default_formatter_forces_multiline(const node&, size_t = 0) noexcept;
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -406,7 +408,7 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // !DOXYGEN
|
#endif // !DOXYGEN
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
|
||||||
|
@ -12,13 +12,13 @@
|
|||||||
//# }}
|
//# }}
|
||||||
|
|
||||||
#include "toml_default_formatter.h"
|
#include "toml_default_formatter.h"
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||||
|
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -160,7 +160,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return (default_formatter_inline_columns(node) + starting_column_bias) >= default_formatter_line_wrap;
|
return (default_formatter_inline_columns(node) + starting_column_bias) >= default_formatter_line_wrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -199,14 +199,14 @@ TOML_NAMESPACE_START
|
|||||||
base::clear_naked_newline();
|
base::clear_naked_newline();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
// implementations of windows wide string nonsense
|
// implementations of windows wide string nonsense
|
||||||
#if TOML_WINDOWS_COMPAT
|
#if TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <windows.h> // fuckkkk :(
|
#include <windows.h> // fuckkkk :(
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -260,8 +260,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // __cpp_lib_char8_t
|
#endif // __cpp_lib_char8_t
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
#endif // TOML_WINDOWS_COMPAT
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS, TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS, TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||||
|
@ -6,9 +6,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "toml_print_to_stream.h"
|
#include "toml_print_to_stream.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <typename Char = char>
|
template <typename Char = char>
|
||||||
@ -232,6 +233,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
@ -14,11 +14,11 @@
|
|||||||
#endif
|
#endif
|
||||||
//# }}
|
//# }}
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <istream>
|
#include <istream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
#include "toml_node_view.h"
|
#include "toml_node_view.h"
|
||||||
#include "toml_default_formatter.h"
|
#include "toml_default_formatter.h"
|
||||||
@ -36,7 +36,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
// print to stream machinery
|
// print to stream machinery
|
||||||
template TOML_API void print_floating_point_to_stream(double, std::ostream&, bool);
|
template TOML_API void print_floating_point_to_stream(double, std::ostream&, bool);
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
// public namespace
|
// public namespace
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
@ -148,8 +148,8 @@ TOML_NAMESPACE_START
|
|||||||
template TOML_API parse_result parse_file(std::wstring_view) TOML_MAY_THROW;
|
template TOML_API parse_result parse_file(std::wstring_view) TOML_MAY_THROW;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
|
|
||||||
#endif // TOML_PARSER
|
#endif // TOML_PARSER
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "toml_formatter.h"
|
#include "toml_formatter.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -154,6 +154,6 @@ TOML_NAMESPACE_START
|
|||||||
extern template TOML_API std::ostream& operator << (std::ostream&, json_formatter<char>&&);
|
extern template TOML_API std::ostream& operator << (std::ostream&, json_formatter<char>&&);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
#include "toml_json_formatter.h"
|
#include "toml_json_formatter.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -58,6 +58,6 @@ TOML_NAMESPACE_START
|
|||||||
base::clear_naked_newline();
|
base::clear_naked_newline();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
@ -67,6 +67,35 @@ TOML_NAMESPACE_START
|
|||||||
friend class TOML_PARSER_TYPENAME;
|
friend class TOML_PARSER_TYPENAME;
|
||||||
source_region source_{};
|
source_region source_{};
|
||||||
|
|
||||||
|
/// \cond
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
[[nodiscard]]
|
||||||
|
decltype(auto) get_value_exact() const noexcept;
|
||||||
|
|
||||||
|
template <typename T, typename N>
|
||||||
|
[[nodiscard]]
|
||||||
|
TOML_ATTR(pure)
|
||||||
|
static decltype(auto) do_ref(N&& n) noexcept
|
||||||
|
{
|
||||||
|
using type = impl::unwrap_node<T>;
|
||||||
|
static_assert(
|
||||||
|
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
||||||
|
"The template type argument of node::ref() must be one of:"
|
||||||
|
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
||||||
|
);
|
||||||
|
TOML_ASSERT(
|
||||||
|
n.template is<T>()
|
||||||
|
&& "template type argument T provided to toml::node::ref() didn't match the node's actual type"
|
||||||
|
);
|
||||||
|
if constexpr (impl::is_native<type>)
|
||||||
|
return std::forward<N>(n).template ref_cast<type>().get();
|
||||||
|
else
|
||||||
|
return std::forward<N>(n).template ref_cast<type>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
node() noexcept = default;
|
node() noexcept = default;
|
||||||
@ -109,7 +138,8 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
virtual ~node() noexcept = default;
|
virtual ~node() noexcept = default;
|
||||||
|
|
||||||
|
/// \name Type checks
|
||||||
|
/// @{
|
||||||
|
|
||||||
#if defined(DOXYGEN) || !TOML_ICC || TOML_ICC_CL
|
#if defined(DOXYGEN) || !TOML_ICC || TOML_ICC_CL
|
||||||
|
|
||||||
@ -183,35 +213,6 @@ TOML_NAMESPACE_START
|
|||||||
else if constexpr (std::is_same_v<type, date_time>) return is_date_time();
|
else if constexpr (std::is_same_v<type, date_time>) return is_date_time();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Returns a pointer to the node as a toml::table, if it is one.
|
|
||||||
[[nodiscard]] virtual table* as_table() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::array, if it is one.
|
|
||||||
[[nodiscard]] virtual array* as_array() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<string>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<std::string>* as_string() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<int64_t>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<int64_t>* as_integer() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<double>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<double>* as_floating_point() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<bool>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<bool>* as_boolean() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<date>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<date>* as_date() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<time>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<time>* as_time() noexcept;
|
|
||||||
/// \brief Returns a pointer to the node as a toml::value<date_time>, if it is one.
|
|
||||||
[[nodiscard]] virtual toml::value<date_time>* as_date_time() noexcept;
|
|
||||||
|
|
||||||
[[nodiscard]] virtual const table* as_table() const noexcept;
|
|
||||||
[[nodiscard]] virtual const array* as_array() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<std::string>* as_string() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<int64_t>* as_integer() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<double>* as_floating_point() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<bool>* as_boolean() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<date>* as_date() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<time>* as_time() const noexcept;
|
|
||||||
[[nodiscard]] virtual const toml::value<date_time>* as_date_time() const noexcept;
|
|
||||||
|
|
||||||
/// \brief Checks if a node contains values/elements of only one type.
|
/// \brief Checks if a node contains values/elements of only one type.
|
||||||
///
|
///
|
||||||
/// \detail \cpp
|
/// \detail \cpp
|
||||||
@ -231,9 +232,12 @@ TOML_NAMESPACE_START
|
|||||||
/// first non-match was a floating-point at line 1, column 18
|
/// first non-match was a floating-point at line 1, column 18
|
||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \param ntype A TOML node type. <br>
|
/// \param ntype A TOML node type. <br>
|
||||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
/// \conditional_return{toml::node_type::none}
|
||||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
/// "is every element the same type?"
|
||||||
|
/// \conditional_return{Anything else}
|
||||||
|
/// "is every element one of these?"
|
||||||
|
///
|
||||||
/// \param first_nonmatch Reference to a pointer in which the address of the first non-matching element
|
/// \param first_nonmatch Reference to a pointer in which the address of the first non-matching element
|
||||||
/// will be stored if the return value is false.
|
/// will be stored if the return value is false.
|
||||||
///
|
///
|
||||||
@ -264,8 +268,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \param ntype A TOML node type. <br>
|
/// \param ntype A TOML node type. <br>
|
||||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
/// \conditional_return{toml::node_type::none}
|
||||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
/// "is every element the same type?"
|
||||||
|
/// \conditional_return{Anything else}
|
||||||
|
/// "is every element one of these?"
|
||||||
///
|
///
|
||||||
/// \returns True if the node was homogeneous.
|
/// \returns True if the node was homogeneous.
|
||||||
///
|
///
|
||||||
@ -291,8 +297,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \tparam ElemType A TOML node or value type. <br>
|
/// \tparam ElemType A TOML node or value type. <br>
|
||||||
/// <strong><em>Left as `void`:</em></strong> "is every element the same type?" <br>
|
/// \conditional_return{Left as `void`}
|
||||||
/// <strong><em>Explicitly specified:</em></strong> "is every element a T?"
|
/// "is every element the same type?" <br>
|
||||||
|
/// \conditional_return{Explicitly specified}
|
||||||
|
/// "is every element a T?"
|
||||||
///
|
///
|
||||||
/// \returns True if the node was homogeneous.
|
/// \returns True if the node was homogeneous.
|
||||||
///
|
///
|
||||||
@ -312,18 +320,112 @@ TOML_NAMESPACE_START
|
|||||||
return is_homogeneous(impl::node_type_of<type>);
|
return is_homogeneous(impl::node_type_of<type>);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
/// @}
|
||||||
|
|
||||||
|
/// \name Type casts
|
||||||
|
/// @{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/// \brief Returns a pointer to the node as a toml::table, if it is one.
|
||||||
|
[[nodiscard]] virtual table* as_table() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::array, if it is one.
|
||||||
|
[[nodiscard]] virtual array* as_array() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<string>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<std::string>* as_string() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<int64_t>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<int64_t>* as_integer() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<double>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<double>* as_floating_point() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<bool>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<bool>* as_boolean() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<date>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<date>* as_date() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<time>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<time>* as_time() noexcept;
|
||||||
|
/// \brief Returns a pointer to the node as a toml::value<date_time>, if it is one.
|
||||||
|
[[nodiscard]] virtual toml::value<date_time>* as_date_time() noexcept;
|
||||||
|
|
||||||
|
[[nodiscard]] virtual const table* as_table() const noexcept;
|
||||||
|
[[nodiscard]] virtual const array* as_array() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<std::string>* as_string() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<int64_t>* as_integer() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<double>* as_floating_point() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<bool>* as_boolean() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<date>* as_date() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<time>* as_time() const noexcept;
|
||||||
|
[[nodiscard]] virtual const toml::value<date_time>* as_date_time() const noexcept;
|
||||||
|
|
||||||
|
/// \brief Gets a pointer to the node as a more specific node type.
|
||||||
|
///
|
||||||
|
/// \details \cpp
|
||||||
|
///
|
||||||
|
/// toml::value<int64_t>* int_value = node->as<int64_t>();
|
||||||
|
/// toml::table* tbl = node->as<toml::table>();
|
||||||
|
/// if (int_value)
|
||||||
|
/// std::cout << "Node is a value<int64_t>\n";
|
||||||
|
/// else if (tbl)
|
||||||
|
/// std::cout << "Node is a table\n";
|
||||||
|
///
|
||||||
|
/// // fully-qualified value node types also work (useful for template code):
|
||||||
|
/// toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
|
||||||
|
/// if (int_value2)
|
||||||
|
/// std::cout << "Node is a value<int64_t>\n";
|
||||||
|
///
|
||||||
|
/// \ecpp
|
||||||
|
///
|
||||||
|
/// \tparam T The node type or TOML value type to cast to.
|
||||||
|
///
|
||||||
|
/// \returns A pointer to the node as the given type, or nullptr if it was a different type.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
decltype(auto) get_value_exact() const noexcept;
|
TOML_ATTR(pure)
|
||||||
|
impl::wrap_node<T>* as() noexcept
|
||||||
|
{
|
||||||
|
using type = impl::unwrap_node<T>;
|
||||||
|
static_assert(
|
||||||
|
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
||||||
|
"The template type argument of node::as() must be one of:"
|
||||||
|
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
||||||
|
);
|
||||||
|
|
||||||
#endif // !DOXYGEN
|
if constexpr (std::is_same_v<type, table>) return as_table();
|
||||||
|
else if constexpr (std::is_same_v<type, array>) return as_array();
|
||||||
|
else if constexpr (std::is_same_v<type, std::string>) return as_string();
|
||||||
|
else if constexpr (std::is_same_v<type, int64_t>) return as_integer();
|
||||||
|
else if constexpr (std::is_same_v<type, double>) return as_floating_point();
|
||||||
|
else if constexpr (std::is_same_v<type, bool>) return as_boolean();
|
||||||
|
else if constexpr (std::is_same_v<type, date>) return as_date();
|
||||||
|
else if constexpr (std::is_same_v<type, time>) return as_time();
|
||||||
|
else if constexpr (std::is_same_v<type, date_time>) return as_date_time();
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
/// \brief Gets a pointer to the node as a more specific node type (const overload).
|
||||||
|
template <typename T>
|
||||||
|
[[nodiscard]]
|
||||||
|
TOML_ATTR(pure)
|
||||||
|
const impl::wrap_node<T>* as() const noexcept
|
||||||
|
{
|
||||||
|
using type = impl::unwrap_node<T>;
|
||||||
|
static_assert(
|
||||||
|
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
||||||
|
"The template type argument of node::as() must be one of:"
|
||||||
|
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
||||||
|
);
|
||||||
|
|
||||||
|
if constexpr (std::is_same_v<type, table>) return as_table();
|
||||||
|
else if constexpr (std::is_same_v<type, array>) return as_array();
|
||||||
|
else if constexpr (std::is_same_v<type, std::string>) return as_string();
|
||||||
|
else if constexpr (std::is_same_v<type, int64_t>) return as_integer();
|
||||||
|
else if constexpr (std::is_same_v<type, double>) return as_floating_point();
|
||||||
|
else if constexpr (std::is_same_v<type, bool>) return as_boolean();
|
||||||
|
else if constexpr (std::is_same_v<type, date>) return as_date();
|
||||||
|
else if constexpr (std::is_same_v<type, time>) return as_time();
|
||||||
|
else if constexpr (std::is_same_v<type, date_time>) return as_date_time();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Value retrieval
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Gets the value contained by this node.
|
/// \brief Gets the value contained by this node.
|
||||||
///
|
///
|
||||||
@ -463,8 +565,8 @@ TOML_NAMESPACE_START
|
|||||||
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
||||||
/// and within the range of the output type, or an empty optional.
|
/// and within the range of the output type, or an empty optional.
|
||||||
///
|
///
|
||||||
/// \attention If you want strict value retrieval semantics that do not allow for any type conversions,
|
/// \note If you want strict value retrieval semantics that do not allow for any type conversions,
|
||||||
/// use node::value_exact() instead.
|
/// use node::value_exact() instead.
|
||||||
///
|
///
|
||||||
/// \see node::value_exact()
|
/// \see node::value_exact()
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -481,9 +583,9 @@ TOML_NAMESPACE_START
|
|||||||
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
||||||
/// and within the range of the output type, or the provided default.
|
/// and within the range of the output type, or the provided default.
|
||||||
///
|
///
|
||||||
/// \attention This function has the same permissive retrieval semantics as node::value(). If you want strict
|
/// \note This function has the same permissive retrieval semantics as node::value(). If you want strict
|
||||||
/// value retrieval semantics that do not allow for any type conversions, use node::value_exact()
|
/// value retrieval semantics that do not allow for any type conversions, use node::value_exact()
|
||||||
/// instead.
|
/// instead.
|
||||||
///
|
///
|
||||||
/// \see
|
/// \see
|
||||||
/// - node::value()
|
/// - node::value()
|
||||||
@ -500,79 +602,65 @@ TOML_NAMESPACE_START
|
|||||||
//[[nodiscard]]
|
//[[nodiscard]]
|
||||||
//std::vector<T> select() const noexcept;
|
//std::vector<T> select() const noexcept;
|
||||||
|
|
||||||
/// \brief Gets a pointer to the node as a more specific node type.
|
/// \brief Gets a raw reference to a value node's underlying data.
|
||||||
///
|
///
|
||||||
/// \details \cpp
|
/// \warning This function is dangerous if used carelessly and **WILL** break your code if the
|
||||||
|
/// chosen value type doesn't match the node's actual type. In debug builds an assertion
|
||||||
|
/// will fire when invalid accesses are attempted: \cpp
|
||||||
|
///
|
||||||
|
/// auto tbl = toml::parse(R"(
|
||||||
|
/// min = 32
|
||||||
|
/// max = 45
|
||||||
|
/// )"sv);
|
||||||
///
|
///
|
||||||
/// toml::value<int64_t>* int_value = node->as<int64_t>();
|
/// int64_t& min_ref = tbl.get("min")->ref<int64_t>(); // matching type
|
||||||
/// toml::table* tbl = node->as<toml::table>();
|
/// double& max_ref = tbl.get("max")->ref<double>(); // mismatched type, hits assert()
|
||||||
/// if (int_value)
|
///
|
||||||
/// std::cout << "Node is a value<int64_t>\n";
|
|
||||||
/// else if (tbl)
|
|
||||||
/// std::cout << "Node is a table\n";
|
|
||||||
///
|
|
||||||
/// // fully-qualified value node types also work (useful for template code):
|
|
||||||
/// toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
|
|
||||||
/// if (int_value2)
|
|
||||||
/// std::cout << "Node is a value<int64_t>\n";
|
|
||||||
///
|
|
||||||
/// \ecpp
|
/// \ecpp
|
||||||
///
|
///
|
||||||
/// \tparam T The node type or TOML value type to cast to.
|
/// \tparam T One of the TOML value types.
|
||||||
///
|
///
|
||||||
/// \returns A pointer to the node as the given type, or nullptr if it was a different type.
|
/// \returns A reference to the underlying data.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_ATTR(pure)
|
TOML_ATTR(pure)
|
||||||
impl::wrap_node<T>* as() noexcept
|
impl::unwrap_node<T>& ref() & noexcept
|
||||||
{
|
{
|
||||||
using type = impl::unwrap_node<T>;
|
return do_ref<T>(*this);
|
||||||
static_assert(
|
|
||||||
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
|
||||||
"The template type argument of node::as() must be one of:"
|
|
||||||
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
|
||||||
);
|
|
||||||
|
|
||||||
if constexpr (std::is_same_v<type, table>) return as_table();
|
|
||||||
else if constexpr (std::is_same_v<type, array>) return as_array();
|
|
||||||
else if constexpr (std::is_same_v<type, std::string>) return as_string();
|
|
||||||
else if constexpr (std::is_same_v<type, int64_t>) return as_integer();
|
|
||||||
else if constexpr (std::is_same_v<type, double>) return as_floating_point();
|
|
||||||
else if constexpr (std::is_same_v<type, bool>) return as_boolean();
|
|
||||||
else if constexpr (std::is_same_v<type, date>) return as_date();
|
|
||||||
else if constexpr (std::is_same_v<type, time>) return as_time();
|
|
||||||
else if constexpr (std::is_same_v<type, date_time>) return as_date_time();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Gets a pointer to the node as a more specific node type (const overload).
|
/// \brief Gets a raw reference to a value node's underlying data (rvalue overload).
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_ATTR(pure)
|
TOML_ATTR(pure)
|
||||||
const impl::wrap_node<T>* as() const noexcept
|
impl::unwrap_node<T>&& ref() && noexcept
|
||||||
{
|
{
|
||||||
using type = impl::unwrap_node<T>;
|
return do_ref<T>(std::move(*this));
|
||||||
static_assert(
|
|
||||||
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
|
||||||
"The template type argument of node::as() must be one of:"
|
|
||||||
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
|
||||||
);
|
|
||||||
|
|
||||||
if constexpr (std::is_same_v<type, table>) return as_table();
|
|
||||||
else if constexpr (std::is_same_v<type, array>) return as_array();
|
|
||||||
else if constexpr (std::is_same_v<type, std::string>) return as_string();
|
|
||||||
else if constexpr (std::is_same_v<type, int64_t>) return as_integer();
|
|
||||||
else if constexpr (std::is_same_v<type, double>) return as_floating_point();
|
|
||||||
else if constexpr (std::is_same_v<type, bool>) return as_boolean();
|
|
||||||
else if constexpr (std::is_same_v<type, date>) return as_date();
|
|
||||||
else if constexpr (std::is_same_v<type, time>) return as_time();
|
|
||||||
else if constexpr (std::is_same_v<type, date_time>) return as_date_time();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \brief Gets a raw reference to a value node's underlying data (const lvalue overload).
|
||||||
|
template <typename T>
|
||||||
|
[[nodiscard]]
|
||||||
|
TOML_ATTR(pure)
|
||||||
|
const impl::unwrap_node<T>& ref() const& noexcept
|
||||||
|
{
|
||||||
|
return do_ref<T>(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Metadata
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns the source region responsible for generating this node during parsing.
|
/// \brief Returns the source region responsible for generating this node during parsing.
|
||||||
[[nodiscard]] const source_region& source() const noexcept;
|
[[nodiscard]] const source_region& source() const noexcept;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
/// \cond
|
||||||
|
|
||||||
template <typename Func, typename N, typename T>
|
template <typename Func, typename N, typename T>
|
||||||
static constexpr bool can_visit = std::is_invocable_v<Func, ref_cast_type<N, T>>;
|
static constexpr bool can_visit = std::is_invocable_v<Func, ref_cast_type<N, T>>;
|
||||||
|
|
||||||
@ -723,30 +811,13 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \endcond
|
||||||
template <typename T, typename N>
|
|
||||||
[[nodiscard]]
|
|
||||||
TOML_ATTR(pure)
|
|
||||||
static decltype(auto) do_ref(N&& n) noexcept
|
|
||||||
{
|
|
||||||
using type = impl::unwrap_node<T>;
|
|
||||||
static_assert(
|
|
||||||
(impl::is_native<type> || impl::is_one_of<type, table, array>) && !impl::is_cvref<type>,
|
|
||||||
"The template type argument of node::ref() must be one of:"
|
|
||||||
TOML_SA_UNWRAPPED_NODE_TYPE_LIST
|
|
||||||
);
|
|
||||||
TOML_ASSERT(
|
|
||||||
n.template is<T>()
|
|
||||||
&& "template type argument T provided to toml::node::ref() didn't match the node's actual type"
|
|
||||||
);
|
|
||||||
if constexpr (impl::is_native<type>)
|
|
||||||
return std::forward<N>(n).template ref_cast<type>().get();
|
|
||||||
else
|
|
||||||
return std::forward<N>(n).template ref_cast<type>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/// \name Visitation
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Invokes a visitor on the node based on the node's concrete type.
|
/// \brief Invokes a visitor on the node based on the node's concrete type.
|
||||||
///
|
///
|
||||||
/// \details Visitation is useful when you expect
|
/// \details Visitation is useful when you expect
|
||||||
@ -798,56 +869,18 @@ TOML_NAMESPACE_START
|
|||||||
return do_visit(*this, std::forward<Func>(visitor));
|
return do_visit(*this, std::forward<Func>(visitor));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Gets a raw reference to a value node's underlying data.
|
/// @}
|
||||||
///
|
|
||||||
/// \warning This function is dangerous if used carelessly and **WILL** break your code if the
|
|
||||||
/// chosen value type doesn't match the node's actual type. In debug builds an assertion
|
|
||||||
/// will fire when invalid accesses are attempted: \cpp
|
|
||||||
///
|
|
||||||
/// auto tbl = toml::parse(R"(
|
|
||||||
/// min = 32
|
|
||||||
/// max = 45
|
|
||||||
/// )"sv);
|
|
||||||
///
|
|
||||||
/// int64_t& min_ref = tbl.get("min")->ref<int64_t>(); // matching type
|
|
||||||
/// double& max_ref = tbl.get("max")->ref<double>(); // mismatched type, hits assert()
|
|
||||||
///
|
|
||||||
/// \ecpp
|
|
||||||
///
|
|
||||||
/// \tparam T One of the TOML value types.
|
|
||||||
///
|
|
||||||
/// \returns A reference to the underlying data.
|
|
||||||
template <typename T>
|
|
||||||
[[nodiscard]]
|
|
||||||
TOML_ATTR(pure)
|
|
||||||
impl::unwrap_node<T>& ref() & noexcept
|
|
||||||
{
|
|
||||||
return do_ref<T>(*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \brief Gets a raw reference to a value node's underlying data (rvalue overload).
|
/// \name Node views
|
||||||
template <typename T>
|
/// @{
|
||||||
[[nodiscard]]
|
|
||||||
TOML_ATTR(pure)
|
|
||||||
impl::unwrap_node<T>&& ref() && noexcept
|
|
||||||
{
|
|
||||||
return do_ref<T>(std::move(*this));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \brief Gets a raw reference to a value node's underlying data (const lvalue overload).
|
/// \brief Creates a node_view pointing to this node.
|
||||||
template <typename T>
|
|
||||||
[[nodiscard]]
|
|
||||||
TOML_ATTR(pure)
|
|
||||||
const impl::unwrap_node<T>& ref() const& noexcept
|
|
||||||
{
|
|
||||||
return do_ref<T>(*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \brief Creates a `node_view` pointing to this node.
|
|
||||||
[[nodiscard]] explicit operator node_view<node>() noexcept;
|
[[nodiscard]] explicit operator node_view<node>() noexcept;
|
||||||
|
|
||||||
/// \brief Creates a `node_view` pointing to this node (const overload).
|
/// \brief Creates a node_view pointing to this node (const overload).
|
||||||
[[nodiscard]] explicit operator node_view<const node>() const noexcept;
|
[[nodiscard]] explicit operator node_view<const node>() const noexcept;
|
||||||
|
|
||||||
|
/// @}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -99,4 +99,4 @@ TOML_NAMESPACE_START
|
|||||||
return node_view<const node>(this);
|
return node_view<const node>(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
#include "toml_array.h"
|
#include "toml_array.h"
|
||||||
#include "toml_value.h"
|
#include "toml_value.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -209,9 +209,10 @@ TOML_NAMESPACE_START
|
|||||||
/// first non-match was a floating-point at line 1, column 18
|
/// first non-match was a floating-point at line 1, column 18
|
||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \param ntype A TOML node type. <br>
|
/// \param ntype A TOML node type. <br>
|
||||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
/// \conditional_return{toml::node_type::none} "is every element the same type?"
|
||||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
/// \conditional_return{Anything else} "is every element one of these?"
|
||||||
|
///
|
||||||
/// \param first_nonmatch Reference to a pointer in which the address of the first non-matching element
|
/// \param first_nonmatch Reference to a pointer in which the address of the first non-matching element
|
||||||
/// will be stored if the return value is false.
|
/// will be stored if the return value is false.
|
||||||
///
|
///
|
||||||
@ -249,8 +250,8 @@ TOML_NAMESPACE_START
|
|||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \param ntype A TOML node type. <br>
|
/// \param ntype A TOML node type. <br>
|
||||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
/// \conditional_return{toml::node_type::none} "is every element the same type?"
|
||||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
/// \conditional_return{Anything else} "is every element one of these?"
|
||||||
///
|
///
|
||||||
/// \returns True if the viewed node was homogeneous.
|
/// \returns True if the viewed node was homogeneous.
|
||||||
///
|
///
|
||||||
@ -281,8 +282,8 @@ TOML_NAMESPACE_START
|
|||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
/// \tparam ElemType A TOML node or value type. <br>
|
/// \tparam ElemType A TOML node or value type. <br>
|
||||||
/// <strong><em>Left as `void`:</em></strong> "is every element the same type?" <br>
|
/// \conditional_return{Left as `void`} "is every element the same type?" <br>
|
||||||
/// <strong><em>Explicitly specified:</em></strong> "is every element a T?"
|
/// \conditional_return{Explicitly specified} "is every element a T?"
|
||||||
///
|
///
|
||||||
/// \returns True if the viewed node was homogeneous.
|
/// \returns True if the viewed node was homogeneous.
|
||||||
///
|
///
|
||||||
@ -316,8 +317,8 @@ TOML_NAMESPACE_START
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
/// \brief Gets the value contained by the referenced node.
|
/// \brief Gets the value contained by the referenced node.
|
||||||
///
|
///
|
||||||
@ -332,8 +333,8 @@ TOML_NAMESPACE_START
|
|||||||
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
||||||
/// and within the range of the output type, or an empty optional.
|
/// and within the range of the output type, or an empty optional.
|
||||||
///
|
///
|
||||||
/// \attention If you want strict value retrieval semantics that do not allow for any type conversions,
|
/// \note If you want strict value retrieval semantics that do not allow for any type conversions,
|
||||||
/// use node_view::value_exact() instead.
|
/// use node_view::value_exact() instead.
|
||||||
///
|
///
|
||||||
/// \see
|
/// \see
|
||||||
/// - node_view::value()
|
/// - node_view::value()
|
||||||
@ -347,7 +348,7 @@ TOML_NAMESPACE_START
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS
|
TOML_POP_WARNINGS;
|
||||||
|
|
||||||
/// \brief Gets the raw value contained by the referenced node, or a default.
|
/// \brief Gets the raw value contained by the referenced node, or a default.
|
||||||
///
|
///
|
||||||
@ -359,9 +360,9 @@ TOML_NAMESPACE_START
|
|||||||
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
/// \returns The underlying value if the node was a value of the matching type (or convertible to it)
|
||||||
/// and within the range of the output type, or the provided default.
|
/// and within the range of the output type, or the provided default.
|
||||||
///
|
///
|
||||||
/// \attention This function has the same permissive retrieval semantics as node::value(). If you want strict
|
/// \note This function has the same permissive retrieval semantics as node::value(). If you want strict
|
||||||
/// value retrieval semantics that do not allow for any type conversions, use node_view::value_exact()
|
/// value retrieval semantics that do not allow for any type conversions, use node_view::value_exact()
|
||||||
/// instead.
|
/// instead.
|
||||||
///
|
///
|
||||||
/// \see
|
/// \see
|
||||||
/// - node_view::value()
|
/// - node_view::value()
|
||||||
@ -465,7 +466,7 @@ TOML_NAMESPACE_START
|
|||||||
const auto tbl = lhs.as<table>();
|
const auto tbl = lhs.as<table>();
|
||||||
return tbl && *tbl == rhs;
|
return tbl && *tbl == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const table&, )
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const table&, );
|
||||||
|
|
||||||
/// \brief Returns true if the viewed node is an array with the same contents as RHS.
|
/// \brief Returns true if the viewed node is an array with the same contents as RHS.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
@ -476,7 +477,7 @@ TOML_NAMESPACE_START
|
|||||||
const auto arr = lhs.as<array>();
|
const auto arr = lhs.as<array>();
|
||||||
return arr && *arr == rhs;
|
return arr && *arr == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const array&, )
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const array&, );
|
||||||
|
|
||||||
/// \brief Returns true if the viewed node is a value with the same value as RHS.
|
/// \brief Returns true if the viewed node is a value with the same value as RHS.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -488,7 +489,7 @@ TOML_NAMESPACE_START
|
|||||||
const auto val = lhs.as<T>();
|
const auto val = lhs.as<T>();
|
||||||
return val && *val == rhs;
|
return val && *val == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const toml::value<T>&, template <typename T>)
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const toml::value<T>&, template <typename T>);
|
||||||
|
|
||||||
/// \brief Returns true if the viewed node is a value with the same value as RHS.
|
/// \brief Returns true if the viewed node is a value with the same value as RHS.
|
||||||
template <typename T, typename = std::enable_if_t<
|
template <typename T, typename = std::enable_if_t<
|
||||||
@ -522,10 +523,10 @@ TOML_NAMESPACE_START
|
|||||||
const node_view&,
|
const node_view&,
|
||||||
const T&,
|
const T&,
|
||||||
template <typename T, typename = std::enable_if_t<
|
template <typename T, typename = std::enable_if_t<
|
||||||
impl::is_native<T>
|
impl::is_native<T>
|
||||||
|| impl::is_losslessly_convertible_to_native<T>
|
|| impl::is_losslessly_convertible_to_native<T>
|
||||||
>>
|
>>
|
||||||
)
|
);
|
||||||
|
|
||||||
/// \brief Returns true if the viewed node is an array with the same contents as the RHS initializer list.
|
/// \brief Returns true if the viewed node is an array with the same contents as the RHS initializer list.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -535,7 +536,7 @@ TOML_NAMESPACE_START
|
|||||||
const auto arr = lhs.as<array>();
|
const auto arr = lhs.as<array>();
|
||||||
return arr && *arr == rhs;
|
return arr && *arr == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const std::initializer_list<T>&, template <typename T>)
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const std::initializer_list<T>&, template <typename T>);
|
||||||
|
|
||||||
/// \brief Returns true if the viewed node is an array with the same contents as the RHS vector.
|
/// \brief Returns true if the viewed node is an array with the same contents as the RHS vector.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -545,7 +546,7 @@ TOML_NAMESPACE_START
|
|||||||
const auto arr = lhs.as<array>();
|
const auto arr = lhs.as<array>();
|
||||||
return arr && *arr == rhs;
|
return arr && *arr == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const std::vector<T>&, template <typename T>)
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const node_view&, const std::vector<T>&, template <typename T>);
|
||||||
|
|
||||||
/// \brief Returns a view of the selected subnode.
|
/// \brief Returns a view of the selected subnode.
|
||||||
///
|
///
|
||||||
@ -565,12 +566,12 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Returns a view of the selected subnode.
|
/// \brief Returns a view of the selected subnode.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The key of the node to retrieve
|
/// \param key The key of the node to retrieve
|
||||||
///
|
///
|
||||||
/// \returns A view of the selected node if this node represented a table and it contained a
|
/// \returns A view of the selected node if this node represented a table and it contained a
|
||||||
/// value at the given key, or an empty view.
|
/// value at the given key, or an empty view.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
node_view operator[] (std::wstring_view key) const noexcept
|
node_view operator[] (std::wstring_view key) const noexcept
|
||||||
{
|
{
|
||||||
@ -676,6 +677,6 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // !TOML_HEADER_ONLY
|
#endif // !TOML_HEADER_ONLY
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||||
|
@ -10,14 +10,14 @@
|
|||||||
#error This header cannot not be included when TOML_PARSER is disabled.
|
#error This header cannot not be included when TOML_PARSER is disabled.
|
||||||
#endif
|
#endif
|
||||||
//# }}
|
//# }}
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#if TOML_EXCEPTIONS
|
#if TOML_EXCEPTIONS
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#endif
|
#endif
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -114,7 +114,7 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
|
|
||||||
/// \brief Prints a parse_error to a stream.
|
/// \brief Prints a parse_error to a stream.
|
||||||
///
|
///
|
||||||
@ -154,6 +154,6 @@ TOML_NAMESPACE_START
|
|||||||
extern template TOML_API std::ostream& operator << (std::ostream&, const parse_error&);
|
extern template TOML_API std::ostream& operator << (std::ostream&, const parse_error&);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_INIT_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_INIT_WARNINGS
|
||||||
|
@ -46,7 +46,7 @@ TOML_NAMESPACE_START
|
|||||||
/// parse_result is also safe since `begin()` and `end()` return the same iterator and will not lead to any
|
/// parse_result is also safe since `begin()` and `end()` return the same iterator and will not lead to any
|
||||||
/// dereferences and iterations.
|
/// dereferences and iterations.
|
||||||
///
|
///
|
||||||
/// \attention <strong>This type only exists when exceptions are not enabled.</strong>
|
/// \availability <strong>This type only exists when exceptions are disabled.</strong>
|
||||||
/// Otherwise parse_result is just an alias for toml::table: \cpp
|
/// Otherwise parse_result is just an alias for toml::table: \cpp
|
||||||
/// #if TOML_EXCEPTIONS
|
/// #if TOML_EXCEPTIONS
|
||||||
/// using parse_result = table;
|
/// using parse_result = table;
|
||||||
@ -236,14 +236,14 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Gets a node_view for the selected key-value pair in the wrapped table.
|
/// \brief Gets a node_view for the selected key-value pair in the wrapped table.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The key used for the lookup.
|
/// \param key The key used for the lookup.
|
||||||
///
|
///
|
||||||
/// \returns A view of the value at the given key if parsing was successful and a matching key existed,
|
/// \returns A view of the value at the given key if parsing was successful and a matching key existed,
|
||||||
/// or an empty node view.
|
/// or an empty node view.
|
||||||
///
|
///
|
||||||
/// \see toml::node_view
|
/// \see toml::node_view
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
node_view<node> operator[] (std::wstring_view key) noexcept
|
node_view<node> operator[] (std::wstring_view key) noexcept
|
||||||
{
|
{
|
||||||
@ -252,14 +252,14 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Gets a node_view for the selected key-value pair in the wrapped table (const overload).
|
/// \brief Gets a node_view for the selected key-value pair in the wrapped table (const overload).
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The key used for the lookup.
|
/// \param key The key used for the lookup.
|
||||||
///
|
///
|
||||||
/// \returns A view of the value at the given key if parsing was successful and a matching key existed,
|
/// \returns A view of the value at the given key if parsing was successful and a matching key existed,
|
||||||
/// or an empty node view.
|
/// or an empty node view.
|
||||||
///
|
///
|
||||||
/// \see toml::node_view
|
/// \see toml::node_view
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
node_view<const node> operator[] (std::wstring_view key) const noexcept
|
node_view<const node> operator[] (std::wstring_view key) const noexcept
|
||||||
{
|
{
|
||||||
@ -330,19 +330,20 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex)
|
TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex)
|
||||||
|
|
||||||
[[nodiscard]] TOML_API parse_result do_parse(utf8_reader_interface&&) TOML_MAY_THROW;
|
[[nodiscard]] TOML_API parse_result do_parse(utf8_reader_interface&&) TOML_MAY_THROW;
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
#if TOML_EXCEPTIONS
|
#if TOML_EXCEPTIONS
|
||||||
#define TOML_THROW_PARSE_ERROR(msg, path) \
|
#define TOML_THROW_PARSE_ERROR(msg, path) \
|
||||||
@ -355,6 +356,7 @@ TOML_IMPL_NAMESPACE_END
|
|||||||
msg, source_position{}, std::make_shared<const std::string>(std::move(path)) \
|
msg, source_position{}, std::make_shared<const std::string>(std::move(path)) \
|
||||||
}}
|
}}
|
||||||
#endif
|
#endif
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -377,8 +379,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::string_view doc, std::string_view source_path = {}) TOML_MAY_THROW;
|
parse_result parse(std::string_view doc, std::string_view source_path = {}) TOML_MAY_THROW;
|
||||||
@ -400,8 +404,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
parse_result parse(std::string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
||||||
@ -420,15 +426,17 @@ TOML_NAMESPACE_START
|
|||||||
/// 3
|
/// 3
|
||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
||||||
/// \param source_path The path used to initialize each node's `source().path`.
|
/// \param source_path The path used to initialize each node's `source().path`.
|
||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
///
|
/// \conditional_return{Without exceptions}
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::string_view doc, std::wstring_view source_path) TOML_MAY_THROW;
|
parse_result parse(std::string_view doc, std::wstring_view source_path) TOML_MAY_THROW;
|
||||||
@ -454,8 +462,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::u8string_view doc, std::string_view source_path = {}) TOML_MAY_THROW;
|
parse_result parse(std::u8string_view doc, std::string_view source_path = {}) TOML_MAY_THROW;
|
||||||
@ -477,8 +487,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::u8string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
parse_result parse(std::u8string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
||||||
@ -490,22 +502,23 @@ TOML_NAMESPACE_START
|
|||||||
/// \detail \cpp
|
/// \detail \cpp
|
||||||
/// auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
|
/// auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
|
||||||
/// std::cout << tbl["a"] << "\n";
|
/// std::cout << tbl["a"] << "\n";
|
||||||
///
|
|
||||||
/// \ecpp
|
/// \ecpp
|
||||||
///
|
///
|
||||||
/// \out
|
/// \out
|
||||||
/// 3
|
/// 3
|
||||||
/// \eout
|
/// \eout
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
||||||
/// \param source_path The path used to initialize each node's `source().path`.
|
/// \param source_path The path used to initialize each node's `source().path`.
|
||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
///
|
/// \conditional_return{Without exceptions}
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result parse(std::u8string_view doc, std::wstring_view source_path) TOML_MAY_THROW;
|
parse_result parse(std::u8string_view doc, std::wstring_view source_path) TOML_MAY_THROW;
|
||||||
@ -535,8 +548,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
template <typename Char>
|
template <typename Char>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
inline parse_result parse(std::basic_istream<Char>& doc, std::string_view source_path = {}) TOML_MAY_THROW
|
inline parse_result parse(std::basic_istream<Char>& doc, std::string_view source_path = {}) TOML_MAY_THROW
|
||||||
@ -570,8 +585,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
template <typename Char>
|
template <typename Char>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
inline parse_result parse(std::basic_istream<Char>& doc, std::string&& source_path) TOML_MAY_THROW
|
inline parse_result parse(std::basic_istream<Char>& doc, std::string&& source_path) TOML_MAY_THROW
|
||||||
@ -600,6 +617,8 @@ TOML_NAMESPACE_START
|
|||||||
/// \out
|
/// \out
|
||||||
/// 3
|
/// 3
|
||||||
/// \eout
|
/// \eout
|
||||||
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
///
|
///
|
||||||
/// \tparam Char The stream's underlying character type. Must be 1 byte in size.
|
/// \tparam Char The stream's underlying character type. Must be 1 byte in size.
|
||||||
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
/// \param doc The TOML document to parse. Must be valid UTF-8.
|
||||||
@ -607,10 +626,10 @@ TOML_NAMESPACE_START
|
|||||||
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
/// If you don't have a path (or you have no intention of using paths in diagnostics)
|
||||||
/// then this parameter can safely be left blank.
|
/// then this parameter can safely be left blank.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
///
|
/// \conditional_return{Without exceptions}
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
/// A toml::parse_result.
|
||||||
template <typename Char>
|
template <typename Char>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
inline parse_result parse(std::basic_istream<Char>& doc, std::wstring_view source_path) TOML_MAY_THROW
|
inline parse_result parse(std::basic_istream<Char>& doc, std::wstring_view source_path) TOML_MAY_THROW
|
||||||
@ -641,8 +660,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \tparam Char The path's character type.
|
/// \tparam Char The path's character type.
|
||||||
/// \param file_path The TOML document to parse. Must be valid UTF-8.
|
/// \param file_path The TOML document to parse. Must be valid UTF-8.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
///
|
///
|
||||||
/// \attention You must `#include <fstream>` to use this function (toml++ does not transitively include it for you).
|
/// \attention You must `#include <fstream>` to use this function (toml++ does not transitively include it for you).
|
||||||
template <typename Char, typename StreamChar = char>
|
template <typename Char, typename StreamChar = char>
|
||||||
@ -733,7 +754,7 @@ TOML_NAMESPACE_START
|
|||||||
return parse_file(std::basic_string_view<Char>{ file_path });
|
return parse_file(std::basic_string_view<Char>{ file_path });
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
|
|
||||||
inline namespace literals
|
inline namespace literals
|
||||||
{
|
{
|
||||||
@ -756,8 +777,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \param str The string data. Must be valid UTF-8.
|
/// \param str The string data. Must be valid UTF-8.
|
||||||
/// \param len The string length.
|
/// \param len The string length.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result operator"" _toml(const char* str, size_t len) TOML_MAY_THROW;
|
parse_result operator"" _toml(const char* str, size_t len) TOML_MAY_THROW;
|
||||||
@ -781,17 +804,19 @@ TOML_NAMESPACE_START
|
|||||||
/// \param str The string data. Must be valid UTF-8.
|
/// \param str The string data. Must be valid UTF-8.
|
||||||
/// \param len The string length.
|
/// \param len The string length.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
/// \returns \conditional_return{With exceptions}
|
||||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
/// A toml::table.
|
||||||
|
/// \conditional_return{Without exceptions}
|
||||||
|
/// A toml::parse_result.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_API
|
TOML_API
|
||||||
parse_result operator"" _toml(const char8_t* str, size_t len) TOML_MAY_THROW;
|
parse_result operator"" _toml(const char8_t* str, size_t len) TOML_MAY_THROW;
|
||||||
|
|
||||||
#endif // __cpp_lib_char8_t
|
#endif // __cpp_lib_char8_t
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
#undef TOML_THROW_PARSE_ERROR
|
#undef TOML_THROW_PARSE_ERROR
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
//# }}
|
//# }}
|
||||||
|
|
||||||
#include "toml_parser.h"
|
#include "toml_parser.h"
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
||||||
#include <charconv>
|
#include <charconv>
|
||||||
@ -26,10 +26,10 @@ TOML_DISABLE_WARNINGS
|
|||||||
#if !TOML_HEADER_ONLY
|
#if !TOML_HEADER_ONLY
|
||||||
using namespace std::string_view_literals;
|
using namespace std::string_view_literals;
|
||||||
#endif
|
#endif
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
#if TOML_EXCEPTIONS && !defined(__INTELLISENSE__)
|
#if TOML_EXCEPTIONS && !defined(__INTELLISENSE__)
|
||||||
#define TOML_RETURNS_BY_THROWING [[noreturn]]
|
#define TOML_RETURNS_BY_THROWING [[noreturn]]
|
||||||
@ -328,7 +328,7 @@ TOML_ANON_NAMESPACE_START
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
TOML_ANON_NAMESPACE_END
|
TOML_ANON_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -1118,9 +1118,9 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
: std::numeric_limits<double>::quiet_NaN();
|
: std::numeric_limits<double>::quiet_NaN();
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
double parse_float() TOML_MAY_THROW
|
double parse_float() TOML_MAY_THROW
|
||||||
@ -1820,7 +1820,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return { date, time, offset };
|
return { date, time, offset };
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS, TOML_DISABLE_INIT_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS, TOML_DISABLE_INIT_WARNINGS
|
||||||
|
|
||||||
[[nodiscard]] toml::array* parse_array() TOML_MAY_THROW;
|
[[nodiscard]] toml::array* parse_array() TOML_MAY_THROW;
|
||||||
[[nodiscard]] toml::table* parse_inline_table() TOML_MAY_THROW;
|
[[nodiscard]] toml::table* parse_inline_table() TOML_MAY_THROW;
|
||||||
@ -2826,8 +2826,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
update_region_ends(root);
|
update_region_ends(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
operator parse_result() && noexcept
|
operator parse_result() && noexcept
|
||||||
@ -2847,7 +2847,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS
|
TOML_POP_WARNINGS;
|
||||||
};
|
};
|
||||||
|
|
||||||
TOML_EXTERNAL_LINKAGE
|
TOML_EXTERNAL_LINKAGE
|
||||||
@ -3008,7 +3008,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return impl::parser{ std::move(reader) };
|
return impl::parser{ std::move(reader) };
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
|
|
||||||
#undef push_parse_scope_2
|
#undef push_parse_scope_2
|
||||||
#undef push_parse_scope_1
|
#undef push_parse_scope_1
|
||||||
@ -3029,7 +3029,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
#undef advance_and_return_if_error_or_eof
|
#undef advance_and_return_if_error_or_eof
|
||||||
#undef assert_or_assume
|
#undef assert_or_assume
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -3089,7 +3089,7 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // __cpp_lib_char8_t
|
#endif // __cpp_lib_char8_t
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
|
|
||||||
inline namespace literals
|
inline namespace literals
|
||||||
{
|
{
|
||||||
@ -3113,9 +3113,9 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // __cpp_lib_char8_t
|
#endif // __cpp_lib_char8_t
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
@ -52,21 +52,38 @@
|
|||||||
|
|
||||||
#if TOML_CLANG
|
#if TOML_CLANG
|
||||||
|
|
||||||
#define TOML_PUSH_WARNINGS _Pragma("clang diagnostic push")
|
#define TOML_PUSH_WARNINGS _Pragma("clang diagnostic push") \
|
||||||
#define TOML_DISABLE_SWITCH_WARNINGS _Pragma("clang diagnostic ignored \"-Wswitch\"")
|
static_assert(true)
|
||||||
#define TOML_DISABLE_INIT_WARNINGS _Pragma("clang diagnostic ignored \"-Wmissing-field-initializers\"")
|
|
||||||
|
#define TOML_DISABLE_SWITCH_WARNINGS _Pragma("clang diagnostic ignored \"-Wswitch\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_INIT_WARNINGS _Pragma("clang diagnostic ignored \"-Wmissing-field-initializers\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_ARITHMETIC_WARNINGS _Pragma("clang diagnostic ignored \"-Wfloat-equal\"") \
|
#define TOML_DISABLE_ARITHMETIC_WARNINGS _Pragma("clang diagnostic ignored \"-Wfloat-equal\"") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wdouble-promotion\"") \
|
_Pragma("clang diagnostic ignored \"-Wdouble-promotion\"") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wchar-subscripts\"") \
|
_Pragma("clang diagnostic ignored \"-Wchar-subscripts\"") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wshift-sign-overflow\"")
|
_Pragma("clang diagnostic ignored \"-Wshift-sign-overflow\"") \
|
||||||
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("clang diagnostic ignored \"-Wshadow\"")
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("clang diagnostic ignored \"-Wshadow\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_SPAM_WARNINGS _Pragma("clang diagnostic ignored \"-Wweak-vtables\"") \
|
#define TOML_DISABLE_SPAM_WARNINGS _Pragma("clang diagnostic ignored \"-Wweak-vtables\"") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wweak-template-vtables\"") \
|
_Pragma("clang diagnostic ignored \"-Wweak-template-vtables\"") \
|
||||||
_Pragma("clang diagnostic ignored \"-Wpadded\"")
|
_Pragma("clang diagnostic ignored \"-Wpadded\"") \
|
||||||
#define TOML_POP_WARNINGS _Pragma("clang diagnostic pop")
|
static_assert(true)
|
||||||
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS \
|
|
||||||
_Pragma("clang diagnostic ignored \"-Weverything\"")
|
#define TOML_POP_WARNINGS _Pragma("clang diagnostic pop") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS; \
|
||||||
|
_Pragma("clang diagnostic ignored \"-Weverything\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
||||||
|
|
||||||
#define TOML_ASSUME(cond) __builtin_assume(cond)
|
#define TOML_ASSUME(cond) __builtin_assume(cond)
|
||||||
#define TOML_UNREACHABLE __builtin_unreachable()
|
#define TOML_UNREACHABLE __builtin_unreachable()
|
||||||
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
||||||
@ -111,13 +128,29 @@
|
|||||||
#if TOML_MSVC || TOML_ICC_CL
|
#if TOML_MSVC || TOML_ICC_CL
|
||||||
|
|
||||||
#define TOML_CPP_VERSION _MSVC_LANG
|
#define TOML_CPP_VERSION _MSVC_LANG
|
||||||
#define TOML_PUSH_WARNINGS __pragma(warning(push))
|
|
||||||
#if TOML_MSVC // !intel-cl
|
#if TOML_MSVC // !intel-cl
|
||||||
#define TOML_PUSH_WARNINGS __pragma(warning(push))
|
|
||||||
#define TOML_DISABLE_SWITCH_WARNINGS __pragma(warning(disable: 4063))
|
#define TOML_PUSH_WARNINGS __pragma(warning(push)) \
|
||||||
#define TOML_POP_WARNINGS __pragma(warning(pop))
|
static_assert(true)
|
||||||
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0))
|
|
||||||
|
#define TOML_DISABLE_SWITCH_WARNINGS __pragma(warning(disable: 4063)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_SPAM_WARNINGS __pragma(warning(disable: 4127)) /* conditional expr is constant */ \
|
||||||
|
__pragma(warning(disable: 4324)) /* structure was padded due to alignment specifier */ \
|
||||||
|
__pragma(warning(disable: 4348)) \
|
||||||
|
__pragma(warning(disable: 4505)) /* unreferenced local function removed */ \
|
||||||
|
__pragma(warning(disable: 26490)) /* cg: dont use reinterpret_cast */ \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_POP_WARNINGS __pragma(warning(pop)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_ALWAYS_INLINE
|
#ifndef TOML_ALWAYS_INLINE
|
||||||
#define TOML_ALWAYS_INLINE __forceinline
|
#define TOML_ALWAYS_INLINE __forceinline
|
||||||
@ -136,14 +169,24 @@
|
|||||||
|
|
||||||
#if TOML_ICC
|
#if TOML_ICC
|
||||||
|
|
||||||
#define TOML_PUSH_WARNINGS __pragma(warning(push))
|
#define TOML_PUSH_WARNINGS __pragma(warning(push)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_SPAM_WARNINGS __pragma(warning(disable: 82)) /* storage class is not first */ \
|
#define TOML_DISABLE_SPAM_WARNINGS __pragma(warning(disable: 82)) /* storage class is not first */ \
|
||||||
__pragma(warning(disable: 111)) /* statement unreachable (false-positive) */ \
|
__pragma(warning(disable: 111)) /* statement unreachable (false-positive) */ \
|
||||||
|
__pragma(warning(disable: 869)) /* unreferenced parameter */ \
|
||||||
__pragma(warning(disable: 1011)) /* missing return (false-positive) */ \
|
__pragma(warning(disable: 1011)) /* missing return (false-positive) */ \
|
||||||
__pragma(warning(disable: 2261)) /* assume expr side-effects discarded */
|
__pragma(warning(disable: 2261)) /* assume expr side-effects discarded */ \
|
||||||
#define TOML_POP_WARNINGS __pragma(warning(pop))
|
static_assert(true)
|
||||||
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0))
|
|
||||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
#define TOML_POP_WARNINGS __pragma(warning(pop)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0)) \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#endif // icc
|
#endif // icc
|
||||||
|
|
||||||
@ -153,34 +196,51 @@
|
|||||||
|
|
||||||
#if TOML_GCC
|
#if TOML_GCC
|
||||||
|
|
||||||
#define TOML_PUSH_WARNINGS _Pragma("GCC diagnostic push")
|
#define TOML_PUSH_WARNINGS _Pragma("GCC diagnostic push") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_SWITCH_WARNINGS _Pragma("GCC diagnostic ignored \"-Wswitch\"") \
|
#define TOML_DISABLE_SWITCH_WARNINGS _Pragma("GCC diagnostic ignored \"-Wswitch\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wswitch-enum\"") \
|
_Pragma("GCC diagnostic ignored \"-Wswitch-enum\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wswitch-default\"")
|
_Pragma("GCC diagnostic ignored \"-Wswitch-default\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_INIT_WARNINGS _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
|
#define TOML_DISABLE_INIT_WARNINGS _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") \
|
_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wuninitialized\"")
|
_Pragma("GCC diagnostic ignored \"-Wuninitialized\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_ARITHMETIC_WARNINGS _Pragma("GCC diagnostic ignored \"-Wfloat-equal\"") \
|
#define TOML_DISABLE_ARITHMETIC_WARNINGS _Pragma("GCC diagnostic ignored \"-Wfloat-equal\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wsign-conversion\"") \
|
_Pragma("GCC diagnostic ignored \"-Wsign-conversion\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wchar-subscripts\"")
|
_Pragma("GCC diagnostic ignored \"-Wchar-subscripts\"") \
|
||||||
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("GCC diagnostic ignored \"-Wshadow\"")
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("GCC diagnostic ignored \"-Wshadow\"") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#define TOML_DISABLE_SPAM_WARNINGS _Pragma("GCC diagnostic ignored \"-Wpadded\"") \
|
#define TOML_DISABLE_SPAM_WARNINGS _Pragma("GCC diagnostic ignored \"-Wpadded\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wcast-align\"") \
|
_Pragma("GCC diagnostic ignored \"-Wcast-align\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wcomment\"") \
|
_Pragma("GCC diagnostic ignored \"-Wcomment\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
|
_Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wuseless-cast\"") \
|
_Pragma("GCC diagnostic ignored \"-Wuseless-cast\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") \
|
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=pure\"")
|
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=pure\"") \
|
||||||
#define TOML_POP_WARNINGS _Pragma("GCC diagnostic pop")
|
static_assert(true)
|
||||||
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS \
|
|
||||||
|
#define TOML_POP_WARNINGS _Pragma("GCC diagnostic pop") \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS; \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wall\"") \
|
_Pragma("GCC diagnostic ignored \"-Wall\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wextra\"") \
|
_Pragma("GCC diagnostic ignored \"-Wextra\"") \
|
||||||
_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
|
_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
|
||||||
TOML_DISABLE_SWITCH_WARNINGS \
|
TOML_DISABLE_SWITCH_WARNINGS; \
|
||||||
TOML_DISABLE_INIT_WARNINGS \
|
TOML_DISABLE_INIT_WARNINGS; \
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS \
|
TOML_DISABLE_ARITHMETIC_WARNINGS; \
|
||||||
TOML_DISABLE_SHADOW_WARNINGS \
|
TOML_DISABLE_SHADOW_WARNINGS; \
|
||||||
TOML_DISABLE_SPAM_WARNINGS
|
TOML_DISABLE_SPAM_WARNINGS; \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
|
|
||||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
||||||
|
|
||||||
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
||||||
@ -313,7 +373,7 @@ is no longer necessary.
|
|||||||
#define TOML_EXCEPTIONS 0
|
#define TOML_EXCEPTIONS 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if TOML_EXCEPTIONS
|
#if defined(DOXYGEN) || TOML_EXCEPTIONS
|
||||||
#define TOML_MAY_THROW
|
#define TOML_MAY_THROW
|
||||||
#else
|
#else
|
||||||
#define TOML_MAY_THROW noexcept
|
#define TOML_MAY_THROW noexcept
|
||||||
@ -343,31 +403,31 @@ is no longer necessary.
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TOML_PUSH_WARNINGS
|
#ifndef TOML_PUSH_WARNINGS
|
||||||
#define TOML_PUSH_WARNINGS
|
#define TOML_PUSH_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_SWITCH_WARNINGS
|
#ifndef TOML_DISABLE_SWITCH_WARNINGS
|
||||||
#define TOML_DISABLE_SWITCH_WARNINGS
|
#define TOML_DISABLE_SWITCH_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_INIT_WARNINGS
|
#ifndef TOML_DISABLE_INIT_WARNINGS
|
||||||
#define TOML_DISABLE_INIT_WARNINGS
|
#define TOML_DISABLE_INIT_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_SPAM_WARNINGS
|
#ifndef TOML_DISABLE_SPAM_WARNINGS
|
||||||
#define TOML_DISABLE_SPAM_WARNINGS
|
#define TOML_DISABLE_SPAM_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_ARITHMETIC_WARNINGS
|
#ifndef TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||||
#define TOML_DISABLE_ARITHMETIC_WARNINGS
|
#define TOML_DISABLE_ARITHMETIC_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_SHADOW_WARNINGS
|
#ifndef TOML_DISABLE_SHADOW_WARNINGS
|
||||||
#define TOML_DISABLE_SHADOW_WARNINGS
|
#define TOML_DISABLE_SHADOW_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_POP_WARNINGS
|
#ifndef TOML_POP_WARNINGS
|
||||||
#define TOML_POP_WARNINGS
|
#define TOML_POP_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_DISABLE_WARNINGS
|
#ifndef TOML_DISABLE_WARNINGS
|
||||||
#define TOML_DISABLE_WARNINGS
|
#define TOML_DISABLE_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#ifndef TOML_ENABLE_WARNINGS
|
#ifndef TOML_ENABLE_WARNINGS
|
||||||
#define TOML_ENABLE_WARNINGS
|
#define TOML_ENABLE_WARNINGS static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TOML_ATTR
|
#ifndef TOML_ATTR
|
||||||
@ -440,7 +500,8 @@ is no longer necessary.
|
|||||||
#define TOML_ASYMMETRICAL_EQUALITY_OPS(LHS, RHS, ...) \
|
#define TOML_ASYMMETRICAL_EQUALITY_OPS(LHS, RHS, ...) \
|
||||||
__VA_ARGS__ [[nodiscard]] friend bool operator == (RHS rhs, LHS lhs) noexcept { return lhs == rhs; } \
|
__VA_ARGS__ [[nodiscard]] friend bool operator == (RHS rhs, LHS lhs) noexcept { return lhs == rhs; } \
|
||||||
__VA_ARGS__ [[nodiscard]] friend bool operator != (LHS lhs, RHS rhs) noexcept { return !(lhs == rhs); } \
|
__VA_ARGS__ [[nodiscard]] friend bool operator != (LHS lhs, RHS rhs) noexcept { return !(lhs == rhs); } \
|
||||||
__VA_ARGS__ [[nodiscard]] friend bool operator != (RHS rhs, LHS lhs) noexcept { return !(lhs == rhs); }
|
__VA_ARGS__ [[nodiscard]] friend bool operator != (RHS rhs, LHS lhs) noexcept { return !(lhs == rhs); } \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#ifndef TOML_SIMPLE_STATIC_ASSERT_MESSAGES
|
#ifndef TOML_SIMPLE_STATIC_ASSERT_MESSAGES
|
||||||
#define TOML_SIMPLE_STATIC_ASSERT_MESSAGES 0
|
#define TOML_SIMPLE_STATIC_ASSERT_MESSAGES 0
|
||||||
@ -475,7 +536,8 @@ is no longer necessary.
|
|||||||
constexpr type operator | (type lhs, type rhs) noexcept \
|
constexpr type operator | (type lhs, type rhs) noexcept \
|
||||||
{ \
|
{ \
|
||||||
return static_cast<type>(::toml::impl::unwrap_enum(lhs) | ::toml::impl::unwrap_enum(rhs)); \
|
return static_cast<type>(::toml::impl::unwrap_enum(lhs) | ::toml::impl::unwrap_enum(rhs)); \
|
||||||
}
|
} \
|
||||||
|
static_assert(true)
|
||||||
|
|
||||||
#ifndef TOML_LIFETIME_HOOKS
|
#ifndef TOML_LIFETIME_HOOKS
|
||||||
#define TOML_LIFETIME_HOOKS 0
|
#define TOML_LIFETIME_HOOKS 0
|
||||||
@ -551,18 +613,18 @@ is no longer necessary.
|
|||||||
#endif
|
#endif
|
||||||
#if TOML_ABI_NAMESPACES
|
#if TOML_ABI_NAMESPACES
|
||||||
#define TOML_NAMESPACE_START namespace toml { inline namespace TOML_CONCAT(v, TOML_LIB_MAJOR)
|
#define TOML_NAMESPACE_START namespace toml { inline namespace TOML_CONCAT(v, TOML_LIB_MAJOR)
|
||||||
#define TOML_NAMESPACE_END }
|
#define TOML_NAMESPACE_END } static_assert(true)
|
||||||
#define TOML_NAMESPACE ::toml::TOML_CONCAT(v, TOML_LIB_MAJOR)
|
#define TOML_NAMESPACE ::toml::TOML_CONCAT(v, TOML_LIB_MAJOR)
|
||||||
#define TOML_ABI_NAMESPACE_START(name) inline namespace name {
|
#define TOML_ABI_NAMESPACE_START(name) inline namespace name {
|
||||||
#define TOML_ABI_NAMESPACE_BOOL(cond, T, F) TOML_ABI_NAMESPACE_START(TOML_CONCAT(TOML_EVAL_BOOL_, cond)(T, F))
|
#define TOML_ABI_NAMESPACE_BOOL(cond, T, F) TOML_ABI_NAMESPACE_START(TOML_CONCAT(TOML_EVAL_BOOL_, cond)(T, F))
|
||||||
#define TOML_ABI_NAMESPACE_END }
|
#define TOML_ABI_NAMESPACE_END } static_assert(true)
|
||||||
#else
|
#else
|
||||||
#define TOML_NAMESPACE_START namespace toml
|
#define TOML_NAMESPACE_START namespace toml
|
||||||
#define TOML_NAMESPACE_END
|
#define TOML_NAMESPACE_END static_assert(true)
|
||||||
#define TOML_NAMESPACE toml
|
#define TOML_NAMESPACE toml
|
||||||
#define TOML_ABI_NAMESPACE_START(...)
|
#define TOML_ABI_NAMESPACE_START(...)
|
||||||
#define TOML_ABI_NAMESPACE_BOOL(...)
|
#define TOML_ABI_NAMESPACE_BOOL(...)
|
||||||
#define TOML_ABI_NAMESPACE_END
|
#define TOML_ABI_NAMESPACE_END static_assert(true)
|
||||||
#endif
|
#endif
|
||||||
#define TOML_IMPL_NAMESPACE_START TOML_NAMESPACE_START { namespace impl
|
#define TOML_IMPL_NAMESPACE_START TOML_NAMESPACE_START { namespace impl
|
||||||
#define TOML_IMPL_NAMESPACE_END } TOML_NAMESPACE_END
|
#define TOML_IMPL_NAMESPACE_END } TOML_NAMESPACE_END
|
||||||
@ -575,9 +637,9 @@ is no longer necessary.
|
|||||||
#define TOML_INTERNAL_LINKAGE inline
|
#define TOML_INTERNAL_LINKAGE inline
|
||||||
#else
|
#else
|
||||||
#define TOML_ANON_NAMESPACE_START namespace
|
#define TOML_ANON_NAMESPACE_START namespace
|
||||||
#define TOML_ANON_NAMESPACE_END
|
#define TOML_ANON_NAMESPACE_END static_assert(true)
|
||||||
#define TOML_ANON_NAMESPACE
|
#define TOML_ANON_NAMESPACE
|
||||||
#define TOML_USING_ANON_NAMESPACE (void)0
|
#define TOML_USING_ANON_NAMESPACE static_cast<void>(0)
|
||||||
#define TOML_EXTERNAL_LINKAGE
|
#define TOML_EXTERNAL_LINKAGE
|
||||||
#define TOML_INTERNAL_LINKAGE static
|
#define TOML_INTERNAL_LINKAGE static
|
||||||
#endif
|
#endif
|
||||||
@ -586,10 +648,10 @@ is no longer necessary.
|
|||||||
//# ASSERT
|
//# ASSERT
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#ifndef TOML_ASSERT
|
#ifndef TOML_ASSERT
|
||||||
#if defined(NDEBUG) || !defined(_DEBUG)
|
#if defined(NDEBUG) || !defined(_DEBUG)
|
||||||
#define TOML_ASSERT(expr) (void)0
|
#define TOML_ASSERT(expr) static_cast<void>(0)
|
||||||
#else
|
#else
|
||||||
#ifndef assert
|
#ifndef assert
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@ -597,7 +659,7 @@ TOML_DISABLE_WARNINGS
|
|||||||
#define TOML_ASSERT(expr) assert(expr)
|
#define TOML_ASSERT(expr) assert(expr)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
//#====================================================================================================================
|
//#====================================================================================================================
|
||||||
//# DOXYGEN SPAM
|
//# DOXYGEN SPAM
|
||||||
@ -630,7 +692,6 @@ TOML_ENABLE_WARNINGS
|
|||||||
/// \ecpp
|
/// \ecpp
|
||||||
|
|
||||||
|
|
||||||
#define TOML_API
|
|
||||||
/// \def TOML_API
|
/// \def TOML_API
|
||||||
/// \brief An annotation to add to public symbols.
|
/// \brief An annotation to add to public symbols.
|
||||||
/// \detail Not defined by default.
|
/// \detail Not defined by default.
|
||||||
@ -643,7 +704,6 @@ TOML_ENABLE_WARNINGS
|
|||||||
/// \detail Defaults to the standard C `assert()`.
|
/// \detail Defaults to the standard C `assert()`.
|
||||||
|
|
||||||
|
|
||||||
#define TOML_CONFIG_HEADER
|
|
||||||
/// \def TOML_CONFIG_HEADER
|
/// \def TOML_CONFIG_HEADER
|
||||||
/// \brief An additional header to include before any other toml++ header files.
|
/// \brief An additional header to include before any other toml++ header files.
|
||||||
/// \detail Not defined by default.
|
/// \detail Not defined by default.
|
||||||
@ -685,8 +745,8 @@ TOML_ENABLE_WARNINGS
|
|||||||
/// \def TOML_SMALL_FLOAT_TYPE
|
/// \def TOML_SMALL_FLOAT_TYPE
|
||||||
/// \brief If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
|
/// \brief If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
|
||||||
/// \detail Not defined by default.
|
/// \detail Not defined by default.
|
||||||
/// \attention If you're building for a platform that has a built-in half precision float (e.g. `_Float16`), you don't
|
/// \remark If you're building for a platform that has a built-in half precision float (e.g. `_Float16`), you don't
|
||||||
/// need to use this configuration option to make toml++ aware of it; the library comes with that built-in.
|
/// need to use this configuration option to make toml++ aware of it; the library comes with that built-in.
|
||||||
|
|
||||||
#define TOML_SMALL_INT_TYPE
|
#define TOML_SMALL_INT_TYPE
|
||||||
/// \def TOML_SMALL_INT_TYPE
|
/// \def TOML_SMALL_INT_TYPE
|
||||||
@ -706,12 +766,12 @@ TOML_ENABLE_WARNINGS
|
|||||||
/// when building for Windows.
|
/// when building for Windows.
|
||||||
/// \detail Defaults to `1` when building for Windows, `0` otherwise. Has no effect when building for anything other
|
/// \detail Defaults to `1` when building for Windows, `0` otherwise. Has no effect when building for anything other
|
||||||
/// than Windows.
|
/// than Windows.
|
||||||
/// \attention This <strong>does not</strong> change the underlying string type used to represent TOML keys and string
|
/// \remark This <strong>does not</strong> change the underlying string type used to represent TOML keys and string
|
||||||
/// values; that will still be std::string. This setting simply enables some narrow <=> wide string
|
/// values; that will still be std::string. This setting simply enables some narrow <=> wide string
|
||||||
/// conversions when necessary at various interface boundaries.
|
/// conversions when necessary at various interface boundaries.
|
||||||
/// <br><br>
|
/// <br><br>
|
||||||
/// If you're building for Windows and you have no need for Windows' "Pretends-to-be-unicode" wide strings,
|
/// If you're building for Windows and you have no need for Windows' "Pretends-to-be-unicode" wide strings,
|
||||||
/// you can safely set this to `0`.
|
/// you can safely set this to `0`.
|
||||||
|
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "toml_date_time.h"
|
#include "toml_date_time.h"
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
||||||
#include <charconv>
|
#include <charconv>
|
||||||
@ -16,10 +16,10 @@ TOML_DISABLE_WARNINGS
|
|||||||
#if !TOML_INT_CHARCONV
|
#if !TOML_INT_CHARCONV
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#endif
|
#endif
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
|
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -377,8 +377,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
print_to_stream(*val.offset, stream);
|
print_to_stream(*val.offset, stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||||
|
|
||||||
template <typename T, typename Char>
|
template <typename T, typename Char>
|
||||||
void print_to_stream_with_escapes(T && str, std::basic_ostream<Char>& stream)
|
void print_to_stream_with_escapes(T && str, std::basic_ostream<Char>& stream)
|
||||||
@ -399,9 +399,9 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -481,6 +481,6 @@ TOML_NAMESPACE_START
|
|||||||
extern template TOML_API std::ostream& operator << (std::ostream&, const source_region&);
|
extern template TOML_API std::ostream& operator << (std::ostream&, const source_region&);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_SWITCH_WARNINGS
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "toml_array.h"
|
#include "toml_array.h"
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <bool IsConst>
|
template <bool IsConst>
|
||||||
@ -135,7 +136,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return lhs.raw_ != rhs.raw_;
|
return lhs.raw_ != rhs.raw_;
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
|
|
||||||
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
||||||
operator table_iterator<true>() const noexcept
|
operator table_iterator<true>() const noexcept
|
||||||
@ -143,7 +144,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return table_iterator<true>{ raw_ };
|
return table_iterator<true>{ raw_ };
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct table_init_pair final
|
struct table_init_pair final
|
||||||
@ -192,7 +193,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -214,6 +216,8 @@ TOML_NAMESPACE_START
|
|||||||
private:
|
private:
|
||||||
friend class TOML_PARSER_TYPENAME;
|
friend class TOML_PARSER_TYPENAME;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
|
|
||||||
impl::string_map<std::unique_ptr<node>> map;
|
impl::string_map<std::unique_ptr<node>> map;
|
||||||
bool inline_ = false;
|
bool inline_ = false;
|
||||||
|
|
||||||
@ -224,6 +228,8 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
table(impl::table_init_pair*, size_t) noexcept;
|
table(impl::table_init_pair*, size_t) noexcept;
|
||||||
|
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \brief A BidirectionalIterator for iterating over key-value pairs in a toml::table.
|
/// \brief A BidirectionalIterator for iterating over key-value pairs in a toml::table.
|
||||||
@ -291,13 +297,13 @@ TOML_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \name Type checks
|
||||||
|
/// @{
|
||||||
|
|
||||||
[[nodiscard]] node_type type() const noexcept override;
|
[[nodiscard]] node_type type() const noexcept override;
|
||||||
[[nodiscard]] bool is_table() const noexcept override;
|
[[nodiscard]] bool is_table() const noexcept override;
|
||||||
[[nodiscard]] bool is_array() const noexcept override;
|
[[nodiscard]] bool is_array() const noexcept override;
|
||||||
[[nodiscard]] bool is_value() const noexcept override;
|
[[nodiscard]] bool is_value() const noexcept override;
|
||||||
[[nodiscard]] table* as_table() noexcept override;
|
|
||||||
[[nodiscard]] const table* as_table() const noexcept override;
|
|
||||||
|
|
||||||
[[nodiscard]] bool is_homogeneous(node_type ntype) const noexcept override;
|
[[nodiscard]] bool is_homogeneous(node_type ntype) const noexcept override;
|
||||||
[[nodiscard]] bool is_homogeneous(node_type ntype, node*& first_nonmatch) noexcept override;
|
[[nodiscard]] bool is_homogeneous(node_type ntype, node*& first_nonmatch) noexcept override;
|
||||||
[[nodiscard]] bool is_homogeneous(node_type ntype, const node*& first_nonmatch) const noexcept override;
|
[[nodiscard]] bool is_homogeneous(node_type ntype, const node*& first_nonmatch) const noexcept override;
|
||||||
@ -315,6 +321,19 @@ TOML_NAMESPACE_START
|
|||||||
return is_homogeneous(impl::node_type_of<type>);
|
return is_homogeneous(impl::node_type_of<type>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Type casts
|
||||||
|
/// @{
|
||||||
|
|
||||||
|
[[nodiscard]] table* as_table() noexcept override;
|
||||||
|
[[nodiscard]] const table* as_table() const noexcept override;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Metadata
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns true if this table is an inline table.
|
/// \brief Returns true if this table is an inline table.
|
||||||
///
|
///
|
||||||
/// \remarks Runtime-constructed tables (i.e. those not created during
|
/// \remarks Runtime-constructed tables (i.e. those not created during
|
||||||
@ -362,6 +381,11 @@ TOML_NAMESPACE_START
|
|||||||
/// \param val The new value for 'inline'.
|
/// \param val The new value for 'inline'.
|
||||||
void is_inline(bool val) noexcept;
|
void is_inline(bool val) noexcept;
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Node views
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Gets a node_view for the selected key-value pair.
|
/// \brief Gets a node_view for the selected key-value pair.
|
||||||
///
|
///
|
||||||
/// \param key The key used for the lookup.
|
/// \param key The key used for the lookup.
|
||||||
@ -392,6 +416,8 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Gets a node_view for the selected key-value pair.
|
/// \brief Gets a node_view for the selected key-value pair.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The key used for the lookup.
|
/// \param key The key used for the lookup.
|
||||||
///
|
///
|
||||||
/// \returns A view of the value at the given key if one existed, or an empty node view.
|
/// \returns A view of the value at the given key if one existed, or an empty node view.
|
||||||
@ -401,11 +427,11 @@ TOML_NAMESPACE_START
|
|||||||
/// <strong>This is not an error.</strong>
|
/// <strong>This is not an error.</strong>
|
||||||
///
|
///
|
||||||
/// \see toml::node_view
|
/// \see toml::node_view
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] node_view<node> operator[] (std::wstring_view key) noexcept;
|
[[nodiscard]] node_view<node> operator[] (std::wstring_view key) noexcept;
|
||||||
|
|
||||||
/// \brief Gets a node_view for the selected key-value pair (const overload).
|
/// \brief Gets a node_view for the selected key-value pair (const overload).
|
||||||
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
///
|
///
|
||||||
/// \param key The key used for the lookup.
|
/// \param key The key used for the lookup.
|
||||||
///
|
///
|
||||||
@ -416,12 +442,15 @@ TOML_NAMESPACE_START
|
|||||||
/// <strong>This is not an error.</strong>
|
/// <strong>This is not an error.</strong>
|
||||||
///
|
///
|
||||||
/// \see toml::node_view
|
/// \see toml::node_view
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] node_view<const node> operator[] (std::wstring_view key) const noexcept;
|
[[nodiscard]] node_view<const node> operator[] (std::wstring_view key) const noexcept;
|
||||||
|
|
||||||
#endif // TOML_WINDOWS_COMPAT
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Table operations
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns an iterator to the first key-value pair.
|
/// \brief Returns an iterator to the first key-value pair.
|
||||||
[[nodiscard]] iterator begin() noexcept;
|
[[nodiscard]] iterator begin() noexcept;
|
||||||
/// \brief Returns an iterator to the first key-value pair.
|
/// \brief Returns an iterator to the first key-value pair.
|
||||||
@ -483,13 +512,13 @@ TOML_NAMESPACE_START
|
|||||||
/// \param key The key at which to insert the new value.
|
/// \param key The key at which to insert the new value.
|
||||||
/// \param val The new value to insert.
|
/// \param val The new value to insert.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// <ul>
|
/// <ul>
|
||||||
/// <li>An iterator to the insertion position (or the position of the value that prevented insertion)
|
/// <li>An iterator to the insertion position (or the position of the value that prevented insertion)
|
||||||
/// <li>A boolean indicating if the insertion was successful.
|
/// <li>A boolean indicating if the insertion was successful.
|
||||||
/// </ul>
|
/// </ul>
|
||||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
/// \conditional_return{Input is an empty toml::node_view}
|
||||||
/// `{ end(), false }`
|
/// `{ end(), false }`
|
||||||
///
|
///
|
||||||
/// \attention The return value will always be `{ end(), false }` if the input value was an
|
/// \attention The return value will always be `{ end(), false }` if the input value was an
|
||||||
/// empty toml::node_view, because no insertion can take place. This is the only circumstance
|
/// empty toml::node_view, because no insertion can take place. This is the only circumstance
|
||||||
@ -628,13 +657,13 @@ TOML_NAMESPACE_START
|
|||||||
/// \param key The key at which to insert or assign the value.
|
/// \param key The key at which to insert or assign the value.
|
||||||
/// \param val The value to insert/assign.
|
/// \param val The value to insert/assign.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
/// \returns \conditional_return{Valid input}
|
||||||
/// <ul>
|
/// <ul>
|
||||||
/// <li>An iterator to the value's position
|
/// <li>An iterator to the value's position
|
||||||
/// <li>`true` if the value was inserted, `false` if it was assigned.
|
/// <li>`true` if the value was inserted, `false` if it was assigned.
|
||||||
/// </ul>
|
/// </ul>
|
||||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
/// \conditional_return{Input is an empty toml::node_view}
|
||||||
/// `{ end(), false }`
|
/// `{ end(), false }`
|
||||||
///
|
///
|
||||||
/// \attention The return value will always be `{ end(), false }` if the input value was
|
/// \attention The return value will always be `{ end(), false }` if the input value was
|
||||||
/// an empty toml::node_view, because no insertion or assignment can take place.
|
/// an empty toml::node_view, because no insertion or assignment can take place.
|
||||||
@ -864,17 +893,65 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Removes the value with the given key from the table.
|
/// \brief Removes the value with the given key from the table.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key Key to erase.
|
/// \param key Key to erase.
|
||||||
///
|
///
|
||||||
/// \returns True if any values with matching keys were found and erased.
|
/// \returns True if any values with matching keys were found and erased.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
bool erase(std::wstring_view key) noexcept;
|
bool erase(std::wstring_view key) noexcept;
|
||||||
|
|
||||||
#endif
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
|
/// \brief Gets an iterator to the node at a specific key.
|
||||||
|
///
|
||||||
|
/// \param key The node's key.
|
||||||
|
///
|
||||||
|
/// \returns An iterator to the node at the specified key, or end().
|
||||||
|
[[nodiscard]] iterator find(std::string_view key) noexcept;
|
||||||
|
|
||||||
|
/// \brief Gets an iterator to the node at a specific key (const overload)
|
||||||
|
///
|
||||||
|
/// \param key The node's key.
|
||||||
|
///
|
||||||
|
/// \returns A const iterator to the node at the specified key, or cend().
|
||||||
|
[[nodiscard]] const_iterator find(std::string_view key) const noexcept;
|
||||||
|
|
||||||
|
/// \brief Returns true if the table contains a node at the given key.
|
||||||
|
[[nodiscard]] bool contains(std::string_view key) const noexcept;
|
||||||
|
|
||||||
|
#if TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
|
/// \brief Gets an iterator to the node at a specific key.
|
||||||
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
|
/// \param key The node's key.
|
||||||
|
///
|
||||||
|
/// \returns An iterator to the node at the specified key, or end().
|
||||||
|
[[nodiscard]] iterator find(std::wstring_view key) noexcept;
|
||||||
|
|
||||||
|
/// \brief Gets an iterator to the node at a specific key (const overload).
|
||||||
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
|
/// \param key The node's key.
|
||||||
|
///
|
||||||
|
/// \returns A const iterator to the node at the specified key, or cend().
|
||||||
|
[[nodiscard]] const_iterator find(std::wstring_view key) const noexcept;
|
||||||
|
|
||||||
|
/// \brief Returns true if the table contains a node at the given key.
|
||||||
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
[[nodiscard]] bool contains(std::wstring_view key) const noexcept;
|
||||||
|
|
||||||
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
/// \cond
|
||||||
|
|
||||||
template <typename Map, typename Key>
|
template <typename Map, typename Key>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
static auto do_get(Map& vals, const Key& key) noexcept
|
static auto do_get(Map& vals, const Key& key) noexcept
|
||||||
@ -917,8 +994,13 @@ TOML_NAMESPACE_START
|
|||||||
return do_get(vals, key) != nullptr;
|
return do_get(vals, key) != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/// \name Value retrieval
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Gets the node at a specific key.
|
/// \brief Gets the node at a specific key.
|
||||||
///
|
///
|
||||||
/// \detail \cpp
|
/// \detail \cpp
|
||||||
@ -953,66 +1035,26 @@ TOML_NAMESPACE_START
|
|||||||
/// \returns A pointer to the node at the specified key, or nullptr.
|
/// \returns A pointer to the node at the specified key, or nullptr.
|
||||||
[[nodiscard]] const node* get(std::string_view key) const noexcept;
|
[[nodiscard]] const node* get(std::string_view key) const noexcept;
|
||||||
|
|
||||||
/// \brief Gets an iterator to the node at a specific key.
|
|
||||||
///
|
|
||||||
/// \param key The node's key.
|
|
||||||
///
|
|
||||||
/// \returns An iterator to the node at the specified key, or end().
|
|
||||||
[[nodiscard]] iterator find(std::string_view key) noexcept;
|
|
||||||
|
|
||||||
/// \brief Gets an iterator to the node at a specific key (const overload)
|
|
||||||
///
|
|
||||||
/// \param key The node's key.
|
|
||||||
///
|
|
||||||
/// \returns A const iterator to the node at the specified key, or cend().
|
|
||||||
[[nodiscard]] const_iterator find(std::string_view key) const noexcept;
|
|
||||||
|
|
||||||
/// \brief Returns true if the table contains a node at the given key.
|
|
||||||
[[nodiscard]] bool contains(std::string_view key) const noexcept;
|
|
||||||
|
|
||||||
#if TOML_WINDOWS_COMPAT
|
#if TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
/// \brief Gets the node at a specific key.
|
/// \brief Gets the node at a specific key.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The node's key.
|
/// \param key The node's key.
|
||||||
///
|
///
|
||||||
/// \returns A pointer to the node at the specified key, or nullptr.
|
/// \returns A pointer to the node at the specified key, or nullptr.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] node* get(std::wstring_view key) noexcept;
|
[[nodiscard]] node* get(std::wstring_view key) noexcept;
|
||||||
|
|
||||||
/// \brief Gets the node at a specific key (const overload).
|
/// \brief Gets the node at a specific key (const overload).
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \param key The node's key.
|
/// \param key The node's key.
|
||||||
///
|
///
|
||||||
/// \returns A pointer to the node at the specified key, or nullptr.
|
/// \returns A pointer to the node at the specified key, or nullptr.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] const node* get(std::wstring_view key) const noexcept;
|
[[nodiscard]] const node* get(std::wstring_view key) const noexcept;
|
||||||
|
|
||||||
/// \brief Gets an iterator to the node at a specific key.
|
|
||||||
///
|
|
||||||
/// \param key The node's key.
|
|
||||||
///
|
|
||||||
/// \returns An iterator to the node at the specified key, or end().
|
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] iterator find(std::wstring_view key) noexcept;
|
|
||||||
|
|
||||||
/// \brief Gets an iterator to the node at a specific key (const overload).
|
|
||||||
///
|
|
||||||
/// \param key The node's key.
|
|
||||||
///
|
|
||||||
/// \returns A const iterator to the node at the specified key, or cend().
|
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] const_iterator find(std::wstring_view key) const noexcept;
|
|
||||||
|
|
||||||
/// \brief Returns true if the table contains a node at the given key.
|
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
[[nodiscard]] bool contains(std::wstring_view key) const noexcept;
|
|
||||||
|
|
||||||
#endif // TOML_WINDOWS_COMPAT
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
/// \brief Gets the node at a specific key if it is a particular type.
|
/// \brief Gets the node at a specific key if it is a particular type.
|
||||||
@ -1059,12 +1101,12 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Gets the node at a specific key if it is a particular type.
|
/// \brief Gets the node at a specific key if it is a particular type.
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \tparam ValueType One of the TOML node or value types.
|
/// \tparam ValueType One of the TOML node or value types.
|
||||||
/// \param key The node's key.
|
/// \param key The node's key.
|
||||||
///
|
///
|
||||||
/// \returns A pointer to the node at the specified key if it was of the given type, or nullptr.
|
/// \returns A pointer to the node at the specified key if it was of the given type, or nullptr.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
template <typename ValueType>
|
template <typename ValueType>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
impl::wrap_node<ValueType>* get_as(std::wstring_view key) noexcept
|
impl::wrap_node<ValueType>* get_as(std::wstring_view key) noexcept
|
||||||
@ -1074,12 +1116,12 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
/// \brief Gets the node at a specific key if it is a particular type (const overload).
|
/// \brief Gets the node at a specific key if it is a particular type (const overload).
|
||||||
///
|
///
|
||||||
|
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||||
|
///
|
||||||
/// \tparam ValueType One of the TOML node or value types.
|
/// \tparam ValueType One of the TOML node or value types.
|
||||||
/// \param key The node's key.
|
/// \param key The node's key.
|
||||||
///
|
///
|
||||||
/// \returns A pointer to the node at the specified key if it was of the given type, or nullptr.
|
/// \returns A pointer to the node at the specified key if it was of the given type, or nullptr.
|
||||||
///
|
|
||||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
|
||||||
template <typename ValueType>
|
template <typename ValueType>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
const impl::wrap_node<ValueType>* get_as(std::wstring_view key) const noexcept
|
const impl::wrap_node<ValueType>* get_as(std::wstring_view key) const noexcept
|
||||||
@ -1089,6 +1131,11 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // TOML_WINDOWS_COMPAT
|
#endif // TOML_WINDOWS_COMPAT
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Equality
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Equality operator.
|
/// \brief Equality operator.
|
||||||
///
|
///
|
||||||
/// \param lhs The LHS table.
|
/// \param lhs The LHS table.
|
||||||
@ -1109,12 +1156,12 @@ TOML_NAMESPACE_START
|
|||||||
template <typename Char>
|
template <typename Char>
|
||||||
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>&, const table&);
|
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>&, const table&);
|
||||||
// implemented in toml_default_formatter.h
|
// implemented in toml_default_formatter.h
|
||||||
|
|
||||||
|
/// @}
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
#ifndef DOXYGEN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//template <typename T>
|
//template <typename T>
|
||||||
//inline std::vector<T> node::select_exact() const noexcept
|
//inline std::vector<T> node::select_exact() const noexcept
|
||||||
//{
|
//{
|
||||||
@ -1154,4 +1201,4 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // !DOXYGEN
|
#endif // !DOXYGEN
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
@ -352,5 +352,5 @@ TOML_NAMESPACE_START
|
|||||||
return !(lhs == rhs);
|
return !(lhs == rhs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#ifndef DOXYGEN
|
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
@ -964,6 +964,5 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
#endif // !DOXYGEN
|
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include "toml_utf8.h"
|
#include "toml_utf8.h"
|
||||||
#include "toml_parse_error.h"
|
#include "toml_parse_error.h"
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -162,7 +163,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
static_assert(std::is_trivial_v<utf8_codepoint>);
|
static_assert(std::is_trivial_v<utf8_codepoint>);
|
||||||
static_assert(std::is_standard_layout_v<utf8_codepoint>);
|
static_assert(std::is_standard_layout_v<utf8_codepoint>);
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_LARGE_FILES
|
TOML_ABI_NAMESPACE_END; // TOML_LARGE_FILES
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex)
|
TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex)
|
||||||
|
|
||||||
@ -376,6 +377,7 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
@ -102,9 +102,9 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
|
||||||
#undef TOML_ERROR_CHECK
|
#undef TOML_ERROR_CHECK
|
||||||
#undef TOML_ERROR
|
#undef TOML_ERROR
|
||||||
|
@ -66,9 +66,10 @@
|
|||||||
TOML_SA_LIST_END
|
TOML_SA_LIST_END
|
||||||
#endif // !DOXYGEN
|
#endif // !DOXYGEN
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
TOML_IMPL_NAMESPACE_START
|
TOML_IMPL_NAMESPACE_START
|
||||||
{
|
{
|
||||||
template <typename T, typename...>
|
template <typename T, typename...>
|
||||||
@ -161,7 +162,8 @@ TOML_IMPL_NAMESPACE_START
|
|||||||
return { static_cast<T>(val) };
|
return { static_cast<T>(val) };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TOML_IMPL_NAMESPACE_END
|
TOML_IMPL_NAMESPACE_END;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
TOML_NAMESPACE_START
|
TOML_NAMESPACE_START
|
||||||
{
|
{
|
||||||
@ -187,6 +189,8 @@ TOML_NAMESPACE_START
|
|||||||
private:
|
private:
|
||||||
friend class TOML_PARSER_TYPENAME;
|
friend class TOML_PARSER_TYPENAME;
|
||||||
|
|
||||||
|
/// \cond
|
||||||
|
|
||||||
template <typename T, typename U>
|
template <typename T, typename U>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
TOML_ALWAYS_INLINE
|
TOML_ALWAYS_INLINE
|
||||||
@ -214,6 +218,8 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// \brief The value's underlying data type.
|
/// \brief The value's underlying data type.
|
||||||
@ -299,6 +305,9 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// \name Type checks
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns the value's node type identifier.
|
/// \brief Returns the value's node type identifier.
|
||||||
///
|
///
|
||||||
/// \returns One of:
|
/// \returns One of:
|
||||||
@ -324,22 +333,6 @@ TOML_NAMESPACE_START
|
|||||||
[[nodiscard]] bool is_time() const noexcept override { return std::is_same_v<value_type, time>; }
|
[[nodiscard]] bool is_time() const noexcept override { return std::is_same_v<value_type, time>; }
|
||||||
[[nodiscard]] bool is_date_time() const noexcept override { return std::is_same_v<value_type, date_time>; }
|
[[nodiscard]] bool is_date_time() const noexcept override { return std::is_same_v<value_type, date_time>; }
|
||||||
|
|
||||||
[[nodiscard]] value<std::string>* as_string() noexcept override { return as_value<std::string>(this); }
|
|
||||||
[[nodiscard]] value<int64_t>* as_integer() noexcept override { return as_value<int64_t>(this); }
|
|
||||||
[[nodiscard]] value<double>* as_floating_point() noexcept override { return as_value<double>(this); }
|
|
||||||
[[nodiscard]] value<bool>* as_boolean() noexcept override { return as_value<bool>(this); }
|
|
||||||
[[nodiscard]] value<date>* as_date() noexcept override { return as_value<date>(this); }
|
|
||||||
[[nodiscard]] value<time>* as_time() noexcept override { return as_value<time>(this); }
|
|
||||||
[[nodiscard]] value<date_time>* as_date_time() noexcept override { return as_value<date_time>(this); }
|
|
||||||
|
|
||||||
[[nodiscard]] const value<std::string>* as_string() const noexcept override { return as_value<std::string>(this); }
|
|
||||||
[[nodiscard]] const value<int64_t>* as_integer() const noexcept override { return as_value<int64_t>(this); }
|
|
||||||
[[nodiscard]] const value<double>* as_floating_point() const noexcept override { return as_value<double>(this); }
|
|
||||||
[[nodiscard]] const value<bool>* as_boolean() const noexcept override { return as_value<bool>(this); }
|
|
||||||
[[nodiscard]] const value<date>* as_date() const noexcept override { return as_value<date>(this); }
|
|
||||||
[[nodiscard]] const value<time>* as_time() const noexcept override { return as_value<time>(this); }
|
|
||||||
[[nodiscard]] const value<date_time>* as_date_time() const noexcept override { return as_value<date_time>(this); }
|
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
bool is_homogeneous(node_type ntype) const noexcept override
|
bool is_homogeneous(node_type ntype) const noexcept override
|
||||||
{
|
{
|
||||||
@ -384,6 +377,32 @@ TOML_NAMESPACE_START
|
|||||||
return impl::node_type_of<type> == impl::node_type_of<value_type>;
|
return impl::node_type_of<type> == impl::node_type_of<value_type>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Type casts
|
||||||
|
/// @{
|
||||||
|
|
||||||
|
[[nodiscard]] value<std::string>* as_string() noexcept override { return as_value<std::string>(this); }
|
||||||
|
[[nodiscard]] value<int64_t>* as_integer() noexcept override { return as_value<int64_t>(this); }
|
||||||
|
[[nodiscard]] value<double>* as_floating_point() noexcept override { return as_value<double>(this); }
|
||||||
|
[[nodiscard]] value<bool>* as_boolean() noexcept override { return as_value<bool>(this); }
|
||||||
|
[[nodiscard]] value<date>* as_date() noexcept override { return as_value<date>(this); }
|
||||||
|
[[nodiscard]] value<time>* as_time() noexcept override { return as_value<time>(this); }
|
||||||
|
[[nodiscard]] value<date_time>* as_date_time() noexcept override { return as_value<date_time>(this); }
|
||||||
|
|
||||||
|
[[nodiscard]] const value<std::string>* as_string() const noexcept override { return as_value<std::string>(this); }
|
||||||
|
[[nodiscard]] const value<int64_t>* as_integer() const noexcept override { return as_value<int64_t>(this); }
|
||||||
|
[[nodiscard]] const value<double>* as_floating_point() const noexcept override { return as_value<double>(this); }
|
||||||
|
[[nodiscard]] const value<bool>* as_boolean() const noexcept override { return as_value<bool>(this); }
|
||||||
|
[[nodiscard]] const value<date>* as_date() const noexcept override { return as_value<date>(this); }
|
||||||
|
[[nodiscard]] const value<time>* as_time() const noexcept override { return as_value<time>(this); }
|
||||||
|
[[nodiscard]] const value<date_time>* as_date_time() const noexcept override { return as_value<date_time>(this); }
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Value retrieval
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns a reference to the underlying value.
|
/// \brief Returns a reference to the underlying value.
|
||||||
[[nodiscard]] value_type& get() & noexcept { return val_; }
|
[[nodiscard]] value_type& get() & noexcept { return val_; }
|
||||||
/// \brief Returns a reference to the underlying value (rvalue overload).
|
/// \brief Returns a reference to the underlying value (rvalue overload).
|
||||||
@ -405,6 +424,11 @@ TOML_NAMESPACE_START
|
|||||||
/// \brief Returns a reference to the underlying value (const overload).
|
/// \brief Returns a reference to the underlying value (const overload).
|
||||||
[[nodiscard]] explicit operator const value_type& () const& noexcept { return val_; }
|
[[nodiscard]] explicit operator const value_type& () const& noexcept { return val_; }
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// \name Metadata
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Returns the metadata flags associated with this value.
|
/// \brief Returns the metadata flags associated with this value.
|
||||||
[[nodiscard]] value_flags flags() const noexcept
|
[[nodiscard]] value_flags flags() const noexcept
|
||||||
{
|
{
|
||||||
@ -419,6 +443,8 @@ TOML_NAMESPACE_START
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
/// \brief Prints the value out to a stream as formatted TOML.
|
/// \brief Prints the value out to a stream as formatted TOML.
|
||||||
template <typename Char, typename T>
|
template <typename Char, typename T>
|
||||||
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>& lhs, const value<T>& rhs);
|
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>& lhs, const value<T>& rhs);
|
||||||
@ -441,6 +467,9 @@ TOML_NAMESPACE_START
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \name Equality
|
||||||
|
/// @{
|
||||||
|
|
||||||
/// \brief Value equality operator.
|
/// \brief Value equality operator.
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
friend bool operator == (const value& lhs, value_arg rhs) noexcept
|
friend bool operator == (const value& lhs, value_arg rhs) noexcept
|
||||||
@ -456,7 +485,7 @@ TOML_NAMESPACE_START
|
|||||||
}
|
}
|
||||||
return lhs.val_ == rhs;
|
return lhs.val_ == rhs;
|
||||||
}
|
}
|
||||||
TOML_ASYMMETRICAL_EQUALITY_OPS(const value&, value_arg, )
|
TOML_ASYMMETRICAL_EQUALITY_OPS(const value&, value_arg, );
|
||||||
|
|
||||||
/// \brief Value less-than operator.
|
/// \brief Value less-than operator.
|
||||||
[[nodiscard]] friend bool operator < (const value& lhs, value_arg rhs) noexcept { return lhs.val_ < rhs; }
|
[[nodiscard]] friend bool operator < (const value& lhs, value_arg rhs) noexcept { return lhs.val_ < rhs; }
|
||||||
@ -510,8 +539,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \param lhs The LHS toml::value.
|
/// \param lhs The LHS toml::value.
|
||||||
/// \param rhs The RHS toml::value.
|
/// \param rhs The RHS toml::value.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() < rhs.get()` <br>
|
/// \returns \conditional_return{Same value types}
|
||||||
/// <strong><em>Different value types:</em></strong> `lhs.type() < rhs.type()`
|
/// `lhs.get() < rhs.get()`
|
||||||
|
/// \conditional_return{Different value types}
|
||||||
|
/// `lhs.type() < rhs.type()`
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
friend bool operator < (const value& lhs, const value<T>& rhs) noexcept
|
friend bool operator < (const value& lhs, const value<T>& rhs) noexcept
|
||||||
@ -527,8 +558,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \param lhs The LHS toml::value.
|
/// \param lhs The LHS toml::value.
|
||||||
/// \param rhs The RHS toml::value.
|
/// \param rhs The RHS toml::value.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() <= rhs.get()` <br>
|
/// \returns \conditional_return{Same value types}
|
||||||
/// <strong><em>Different value types:</em></strong> `lhs.type() <= rhs.type()`
|
/// `lhs.get() <= rhs.get()`
|
||||||
|
/// \conditional_return{Different value types}
|
||||||
|
/// `lhs.type() <= rhs.type()`
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
friend bool operator <= (const value& lhs, const value<T>& rhs) noexcept
|
friend bool operator <= (const value& lhs, const value<T>& rhs) noexcept
|
||||||
@ -544,8 +577,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \param lhs The LHS toml::value.
|
/// \param lhs The LHS toml::value.
|
||||||
/// \param rhs The RHS toml::value.
|
/// \param rhs The RHS toml::value.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() > rhs.get()` <br>
|
/// \returns \conditional_return{Same value types}
|
||||||
/// <strong><em>Different value types:</em></strong> `lhs.type() > rhs.type()`
|
/// `lhs.get() > rhs.get()`
|
||||||
|
/// \conditional_return{Different value types}
|
||||||
|
/// `lhs.type() > rhs.type()`
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
friend bool operator > (const value& lhs, const value<T>& rhs) noexcept
|
friend bool operator > (const value& lhs, const value<T>& rhs) noexcept
|
||||||
@ -561,8 +596,10 @@ TOML_NAMESPACE_START
|
|||||||
/// \param lhs The LHS toml::value.
|
/// \param lhs The LHS toml::value.
|
||||||
/// \param rhs The RHS toml::value.
|
/// \param rhs The RHS toml::value.
|
||||||
///
|
///
|
||||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() >= rhs.get()` <br>
|
/// \returns \conditional_return{Same value types}
|
||||||
/// <strong><em>Different value types:</em></strong> `lhs.type() >= rhs.type()`
|
/// `lhs.get() >= rhs.get()`
|
||||||
|
/// \conditional_return{Different value types}
|
||||||
|
/// `lhs.type() >= rhs.type()`
|
||||||
template <typename T>
|
template <typename T>
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
friend bool operator >= (const value& lhs, const value<T>& rhs) noexcept
|
friend bool operator >= (const value& lhs, const value<T>& rhs) noexcept
|
||||||
@ -572,14 +609,17 @@ TOML_NAMESPACE_START
|
|||||||
else
|
else
|
||||||
return impl::node_type_of<value_type> >= impl::node_type_of<T>;
|
return impl::node_type_of<value_type> >= impl::node_type_of<T>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// \cond
|
||||||
template <typename T>
|
template <typename T>
|
||||||
value(T) -> value<impl::native_type_of<impl::remove_cvref_t<T>>>;
|
value(T) -> value<impl::native_type_of<impl::remove_cvref_t<T>>>;
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_PUSH_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_SWITCH_WARNINGS;
|
||||||
TOML_DISABLE_SWITCH_WARNINGS
|
|
||||||
|
|
||||||
#if !TOML_HEADER_ONLY
|
#if !TOML_HEADER_ONLY
|
||||||
extern template class TOML_API value<std::string>;
|
extern template class TOML_API value<std::string>;
|
||||||
@ -924,9 +964,9 @@ TOML_NAMESPACE_START
|
|||||||
|
|
||||||
#endif // !TOML_HEADER_ONLY
|
#endif // !TOML_HEADER_ONLY
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_INIT_WARNINGS, TOML_DISABLE_SWITCH_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_INIT_WARNINGS, TOML_DISABLE_SWITCH_WARNINGS
|
||||||
#endif // !DOXYGEN
|
/// \endcond
|
||||||
}
|
}
|
||||||
TOML_NAMESPACE_END
|
TOML_NAMESPACE_END;
|
||||||
|
|
||||||
TOML_POP_WARNINGS // TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_POP_WARNINGS; // TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||||
|
@ -43,7 +43,7 @@ is_windows = host_machine.system() == 'windows'
|
|||||||
is_x64 = host_machine.cpu_family() == 'x86_64'
|
is_x64 = host_machine.cpu_family() == 'x86_64'
|
||||||
is_subproject = meson.is_subproject()
|
is_subproject = meson.is_subproject()
|
||||||
has_exceptions = get_option('cpp_eh') != 'none'
|
has_exceptions = get_option('cpp_eh') != 'none'
|
||||||
include_dirs = include_directories('include', 'extern')
|
include_dirs = include_directories('include', 'external')
|
||||||
overrides = []
|
overrides = []
|
||||||
additional_arguments = []
|
additional_arguments = []
|
||||||
|
|
||||||
@ -62,6 +62,8 @@ message(['has_exceptions', has_exceptions])
|
|||||||
if is_gcc or is_clang
|
if is_gcc or is_clang
|
||||||
add_project_arguments(
|
add_project_arguments(
|
||||||
'-march=native',
|
'-march=native',
|
||||||
|
'-fvisibility=hidden',
|
||||||
|
'-fvisibility-inlines-hidden',
|
||||||
language : 'cpp'
|
language : 'cpp'
|
||||||
)
|
)
|
||||||
if is_release
|
if is_release
|
||||||
@ -70,6 +72,7 @@ if is_gcc or is_clang
|
|||||||
'-ffunction-sections',
|
'-ffunction-sections',
|
||||||
'-Wl,--gc-sections',
|
'-Wl,--gc-sections',
|
||||||
'-Wl,-s',
|
'-Wl,-s',
|
||||||
|
'-mfma',
|
||||||
language : 'cpp'
|
language : 'cpp'
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
@ -483,8 +486,8 @@ endif
|
|||||||
|
|
||||||
build_tests = get_option('build_tests') and not is_subproject
|
build_tests = get_option('build_tests') and not is_subproject
|
||||||
if build_tests
|
if build_tests
|
||||||
run_command('git', 'submodule', 'update', '--init', 'extern/Catch2')
|
run_command('git', 'submodule', 'update', '--init', '--depth', '1', 'external/Catch2')
|
||||||
run_command('git', 'submodule', 'update', '--init', 'extern/tloptional')
|
run_command('git', 'submodule', 'update', '--init', '--depth', '1', 'external/tloptional')
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
requests
|
|
||||||
bs4
|
|
||||||
pyyaml
|
|
||||||
python-dateutil
|
|
||||||
jinja2
|
|
||||||
pygments
|
|
||||||
html5lib
|
|
202
python/utils.py
@ -1,202 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
# This file is a part of toml++ and is subject to the the terms of the MIT license.
|
|
||||||
# Copyright (c) Mark Gillard <mark.gillard@outlook.com.au>
|
|
||||||
# See https://github.com/marzer/tomlplusplus/blob/master/LICENSE for the full license text.
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import os.path as path
|
|
||||||
import subprocess
|
|
||||||
import traceback
|
|
||||||
import shutil
|
|
||||||
import fnmatch
|
|
||||||
import requests
|
|
||||||
import hashlib
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def is_tool(name):
|
|
||||||
return shutil.which(name) is not None
|
|
||||||
|
|
||||||
|
|
||||||
__script_folder = None
|
|
||||||
def get_script_folder():
|
|
||||||
global __script_folder
|
|
||||||
if __script_folder is None:
|
|
||||||
__script_folder = path.dirname(path.realpath(sys.argv[0]))
|
|
||||||
return __script_folder
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def read_all_text_from_file(path, fallback_url=None, encoding='utf-8'):
|
|
||||||
try:
|
|
||||||
print("Reading {}".format(path))
|
|
||||||
with open(path, 'r', encoding=encoding) as f:
|
|
||||||
text = f.read()
|
|
||||||
return text
|
|
||||||
except:
|
|
||||||
if fallback_url is not None:
|
|
||||||
print("Couldn't read file locally, downloading from {}...".format(fallback_url))
|
|
||||||
response = requests.get(
|
|
||||||
fallback_url,
|
|
||||||
timeout=1
|
|
||||||
)
|
|
||||||
text = response.text
|
|
||||||
with open(path, 'w', encoding='utf-8', newline='\n') as f:
|
|
||||||
print(text, end='', file=f)
|
|
||||||
return text
|
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def run_python_script(script_path, *args):
|
|
||||||
subprocess.check_call(
|
|
||||||
['py' if is_tool('py') else 'python3', script_path] + [arg for arg in args]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def repeat_pattern(pattern, count):
|
|
||||||
if len(pattern) == 1:
|
|
||||||
return pattern * count
|
|
||||||
|
|
||||||
text = ''
|
|
||||||
for i in range(0, count):
|
|
||||||
text = text + pattern[i % len(pattern)]
|
|
||||||
return text
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def delete_directory(dir_path):
|
|
||||||
if (path.exists(dir_path)):
|
|
||||||
print('Deleting {}'.format(dir_path))
|
|
||||||
shutil.rmtree(dir_path)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def is_collection(val):
|
|
||||||
if isinstance(val, (list, tuple, dict, set, range)):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def is_pow2(v):
|
|
||||||
return v & (v-1) == 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def next_power_of_2(n):
|
|
||||||
if n == 0:
|
|
||||||
return 1
|
|
||||||
if n & (n - 1) == 0:
|
|
||||||
return n
|
|
||||||
while n & (n - 1) > 0:
|
|
||||||
n &= (n - 1)
|
|
||||||
return n << 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_all_files(dir, all=None, any=None):
|
|
||||||
files = [f for f in [path.join(dir, f) for f in os.listdir(dir)] if path.isfile(f)]
|
|
||||||
if (files and all is not None):
|
|
||||||
if (not is_collection(all)):
|
|
||||||
all = (all,)
|
|
||||||
all = [f for f in all if f is not None]
|
|
||||||
for fil in all:
|
|
||||||
files = fnmatch.filter(files, fil)
|
|
||||||
|
|
||||||
if (files and any is not None):
|
|
||||||
if (not is_collection(any)):
|
|
||||||
any = (any,)
|
|
||||||
any = [f for f in any if f is not None]
|
|
||||||
if any:
|
|
||||||
results = set()
|
|
||||||
for fil in any:
|
|
||||||
results.update(fnmatch.filter(files, fil))
|
|
||||||
files = [f for f in results]
|
|
||||||
files.sort()
|
|
||||||
return files
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def make_divider(text = None, text_col = 40, pattern = '-', line_length = 120):
|
|
||||||
if (text is None):
|
|
||||||
return "//" + repeat_pattern(pattern, line_length-2)
|
|
||||||
else:
|
|
||||||
text = "//{} {} ".format(repeat_pattern(pattern, text_col - 2), text);
|
|
||||||
if (len(text) < line_length):
|
|
||||||
return text + repeat_pattern(pattern, line_length - len(text))
|
|
||||||
else:
|
|
||||||
return text
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def __hash_combine_32(current_hash, next_hash):
|
|
||||||
current_hash = current_hash & 0xFFFFFFFF
|
|
||||||
next_hash = next_hash & 0xFFFFFFFF
|
|
||||||
current_hash = current_hash ^ (next_hash + 0x9E3779B9 + (current_hash << 6) + (current_hash >> 2))
|
|
||||||
return current_hash & 0xFFFFFFFF
|
|
||||||
def __hash_combine_64(current_hash, next_hash):
|
|
||||||
current_hash = current_hash & 0xFFFFFFFFFFFFFFFF
|
|
||||||
next_hash = next_hash & 0xFFFFFFFFFFFFFFFF
|
|
||||||
current_hash = current_hash ^ (next_hash + 0x9E3779B97F4A7C15 + (current_hash << 12) + (current_hash >> 4))
|
|
||||||
return current_hash & 0xFFFFFFFFFFFFFFFF
|
|
||||||
__hash_combine_func = None
|
|
||||||
if sys.hash_info.width == 64:
|
|
||||||
__hash_combine_func = __hash_combine_64
|
|
||||||
elif sys.hash_info.width == 32:
|
|
||||||
__hash_combine_func = __hash_combine_32
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def hash_combine(current_hash, next_hash, *nexts):
|
|
||||||
global __hash_combine_func
|
|
||||||
current_hash = __hash_combine_func(current_hash, next_hash)
|
|
||||||
if nexts:
|
|
||||||
for n in nexts:
|
|
||||||
current_hash = __hash_combine_func(current_hash, n)
|
|
||||||
return current_hash
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def multi_hash(obj, *objs):
|
|
||||||
assert obj is not None
|
|
||||||
h = hash(obj)
|
|
||||||
if objs:
|
|
||||||
for o in objs:
|
|
||||||
assert o is not None
|
|
||||||
h = hash_combine(h, hash(o))
|
|
||||||
return h
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def multi_sha256(*objs):
|
|
||||||
assert objs
|
|
||||||
h = hashlib.sha256()
|
|
||||||
for o in objs:
|
|
||||||
assert o is not None
|
|
||||||
h.update(str(o).encode('utf-8'))
|
|
||||||
return h.hexdigest()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def run(main_func):
|
|
||||||
try:
|
|
||||||
result = main_func()
|
|
||||||
if result is None:
|
|
||||||
sys.exit(0)
|
|
||||||
else:
|
|
||||||
sys.exit(int(result))
|
|
||||||
except Exception as err:
|
|
||||||
print(
|
|
||||||
'Fatal error: [{}] {}'.format(
|
|
||||||
type(err).__name__,
|
|
||||||
str(err)
|
|
||||||
),
|
|
||||||
file=sys.stderr
|
|
||||||
)
|
|
||||||
traceback.print_exc(file=sys.stderr)
|
|
||||||
sys.exit(-1)
|
|
@ -20,7 +20,7 @@
|
|||||||
#if __has_include(<Catch2/single_include/catch2/catch.hpp>)
|
#if __has_include(<Catch2/single_include/catch2/catch.hpp>)
|
||||||
#include <Catch2/single_include/catch2/catch.hpp>
|
#include <Catch2/single_include/catch2/catch.hpp>
|
||||||
#else
|
#else
|
||||||
#error Catch2 is missing! You probably need to fetch submodules ("git submodule update --init extern/Catch2")
|
#error Catch2 is missing! You probably need to fetch submodules ("git submodule update --init --depth 1 external/Catch2")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
using namespace toml::impl;
|
using namespace toml::impl;
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS // unused variable spam
|
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -121,7 +121,7 @@ answer = 42)"sv;
|
|||||||
])"sv;
|
])"sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("conformance - burntsushi/invalid")
|
TEST_CASE("conformance - burntsushi/invalid")
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
using namespace toml::impl;
|
using namespace toml::impl;
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS // unused variable spam
|
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -261,7 +261,7 @@ answer8 = "\U000003B4")"sv;
|
|||||||
#endif // UNICODE_LITERALS_OK
|
#endif // UNICODE_LITERALS_OK
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("conformance - burntsushi/valid")
|
TEST_CASE("conformance - burntsushi/valid")
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
using namespace toml::impl;
|
using namespace toml::impl;
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS // unused variable spam
|
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -131,7 +131,7 @@ fruit = []
|
|||||||
color = "green")"sv;
|
color = "green")"sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("conformance - iarna/invalid")
|
TEST_CASE("conformance - iarna/invalid")
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
using namespace toml::impl;
|
using namespace toml::impl;
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS // unused variable spam
|
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@ -265,7 +265,7 @@ smooth = true)"sv;
|
|||||||
static constexpr auto spec_time_1 = R"(lt1 = 07:32:00)"sv;
|
static constexpr auto spec_time_1 = R"(lt1 = 07:32:00)"sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("conformance - iarna/valid")
|
TEST_CASE("conformance - iarna/valid")
|
||||||
{
|
{
|
||||||
|
1
tests/cpp.hint
Normal file
@ -0,0 +1 @@
|
|||||||
|
#define TEST_CASE(...) void func()
|
@ -6,12 +6,12 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_DISABLE_SPAM_WARNINGS
|
TOML_DISABLE_SPAM_WARNINGS;
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
static constexpr T one = static_cast<T>(1);
|
static constexpr T one = static_cast<T>(1);
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("parsing - dates and times")
|
TEST_CASE("parsing - dates and times")
|
||||||
{
|
{
|
||||||
@ -162,5 +162,3 @@ TEST_CASE("parsing - dates and times")
|
|||||||
parsing_should_fail(FILE_LINE_ARGS, "val = 1987-03-16 10"sv);
|
parsing_should_fail(FILE_LINE_ARGS, "val = 1987-03-16 10"sv);
|
||||||
parsing_should_fail(FILE_LINE_ARGS, "val = 1987-03-16 1"sv);
|
parsing_should_fail(FILE_LINE_ARGS, "val = 1987-03-16 1"sv);
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS
|
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
|
|
||||||
TOML_PUSH_WARNINGS
|
TOML_PUSH_WARNINGS;
|
||||||
TOML_DISABLE_INIT_WARNINGS
|
TOML_DISABLE_INIT_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("parsing - TOML spec example")
|
TEST_CASE("parsing - TOML spec example")
|
||||||
{
|
{
|
||||||
@ -95,4 +95,4 @@ TEST_CASE("parsing - TOML spec example")
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
TOML_POP_WARNINGS
|
TOML_POP_WARNINGS;
|
||||||
|
@ -46,15 +46,15 @@
|
|||||||
#define UNICODE_LITERALS_OK 1
|
#define UNICODE_LITERALS_OK 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include "catch2.h"
|
#include "catch2.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
namespace toml {}
|
namespace toml {}
|
||||||
using namespace Catch::literals;
|
using namespace Catch::literals;
|
||||||
using namespace toml;
|
using namespace toml;
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
#define FILE_LINE_ARGS std::string_view{ __FILE__ }, __LINE__
|
#define FILE_LINE_ARGS std::string_view{ __FILE__ }, __LINE__
|
||||||
#define BOM_PREFIX "\xEF\xBB\xBF"
|
#define BOM_PREFIX "\xEF\xBB\xBF"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#if __has_include(<tloptional/include/tl/optional.hpp>)
|
#if __has_include(<tloptional/include/tl/optional.hpp>)
|
||||||
#include <tloptional/include/tl/optional.hpp>
|
#include <tloptional/include/tl/optional.hpp>
|
||||||
#else
|
#else
|
||||||
#error TartanLlama/optional is missing! You probably need to fetch submodules ("git submodule update --init extern/tloptional")
|
#error TartanLlama/optional is missing! You probably need to fetch submodules ("git submodule update --init --depth 1 external/tloptional")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
|
|
||||||
TOML_DISABLE_WARNINGS
|
TOML_DISABLE_WARNINGS;
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
TOML_ENABLE_WARNINGS
|
TOML_ENABLE_WARNINGS;
|
||||||
|
|
||||||
TEST_CASE("using iterators")
|
TEST_CASE("using iterators")
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -30,7 +30,7 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Import Project="../toml++.props" />
|
<Import Project="../../toml++.props" />
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -47,53 +47,54 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
<ClCompile Include="..\impl_catch2.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
<ClCompile Include="..\impl_toml.cpp">
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
<ClCompile Include="..\manipulating_values.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
<ClCompile Include="..\parsing_comments.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
<ClCompile Include="..\parsing_floats.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
<ClCompile Include="..\parsing_integers.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
<ClCompile Include="..\parsing_strings.cpp" />
|
||||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
<ClCompile Include="..\parsing_tables.cpp" />
|
||||||
<ClCompile Include="..\..\tests\tests.cpp">
|
<ClCompile Include="..\tests.cpp">
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
<ClCompile Include="..\unicode.cpp" />
|
||||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
<ClCompile Include="..\user_feedback.cpp" />
|
||||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
<ClCompile Include="..\using_iterators.cpp" />
|
||||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
<ClCompile Include="..\windows_compat.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Natvis Include="..\toml++.natvis" />
|
<Natvis Include="..\..\toml++.natvis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\tests\catch2.h" />
|
<ClInclude Include="..\catch2.h" />
|
||||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
<ClInclude Include="..\leakproof.h" />
|
||||||
<ClInclude Include="..\..\tests\settings.h" />
|
<ClInclude Include="..\settings.h" />
|
||||||
<ClInclude Include="..\..\tests\tests.h" />
|
<ClInclude Include="..\tests.h" />
|
||||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
<ClInclude Include="..\tloptional.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\tests\meson.build" />
|
<None Include="..\cpp.hint" />
|
||||||
|
<None Include="..\meson.build" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
</Project>
|
</Project>
|