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:
|
||||
docker:
|
||||
- image: marzer/misc_cpp17_dev:0.2.0
|
||||
- image: marzer/cpp_dev:0.1.0
|
||||
resource_class: large
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Checking toml.hpp
|
||||
command: |
|
||||
cd python && python3 ci_single_header_check.py
|
||||
cd tools && python3 ci_single_header_check.py
|
||||
- run:
|
||||
name: Pulling submodules
|
||||
command: |
|
||||
git submodule update --init extern/Catch2
|
||||
git submodule update --init extern/tloptional
|
||||
git submodule update --init --depth 1 external/Catch2
|
||||
git submodule update --init --depth 1 external/tloptional
|
||||
- run:
|
||||
name: Building and testing with clang
|
||||
command: |
|
||||
@ -25,19 +25,19 @@ jobs:
|
||||
|
||||
release_clang:
|
||||
docker:
|
||||
- image: marzer/misc_cpp17_dev:0.2.0
|
||||
- image: marzer/cpp_dev:0.1.0
|
||||
resource_class: large
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Checking toml.hpp
|
||||
command: |
|
||||
cd python && python3 ci_single_header_check.py
|
||||
cd tools && python3 ci_single_header_check.py
|
||||
- run:
|
||||
name: Pulling submodules
|
||||
command: |
|
||||
git submodule update --init extern/Catch2
|
||||
git submodule update --init extern/tloptional
|
||||
git submodule update --init --depth 1 external/Catch2
|
||||
git submodule update --init --depth 1 external/tloptional
|
||||
- run:
|
||||
name: Building and testing with clang
|
||||
command: |
|
||||
@ -46,15 +46,15 @@ jobs:
|
||||
|
||||
debug_gcc:
|
||||
docker:
|
||||
- image: marzer/misc_cpp17_dev:0.2.0
|
||||
- image: marzer/cpp_dev:0.1.0
|
||||
resource_class: large
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Pulling submodules
|
||||
command: |
|
||||
git submodule update --init extern/Catch2
|
||||
git submodule update --init extern/tloptional
|
||||
git submodule update --init --depth 1 external/Catch2
|
||||
git submodule update --init --depth 1 external/tloptional
|
||||
- run:
|
||||
name: Building and testing with gcc
|
||||
command: |
|
||||
@ -63,15 +63,15 @@ jobs:
|
||||
|
||||
release_gcc:
|
||||
docker:
|
||||
- image: marzer/misc_cpp17_dev:0.2.0
|
||||
- image: marzer/cpp_dev:0.1.0
|
||||
resource_class: large
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Pulling submodules
|
||||
command: |
|
||||
git submodule update --init extern/Catch2
|
||||
git submodule update --init extern/tloptional
|
||||
git submodule update --init --depth 1 external/Catch2
|
||||
git submodule update --init --depth 1 external/tloptional
|
||||
- run:
|
||||
name: Building and testing with gcc
|
||||
command: |
|
||||
@ -80,18 +80,22 @@ jobs:
|
||||
|
||||
generate_dox:
|
||||
docker:
|
||||
- image: marzer/misc_cpp17_dev:0.2.0
|
||||
- image: marzer/cpp_dev:0.1.0
|
||||
resource_class: small
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Pulling submodules
|
||||
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:
|
||||
name: Generating documentation
|
||||
command: |
|
||||
cd python && python3 generate_documentation.py
|
||||
cd docs && python3 ../external/dox --verbose
|
||||
- persist_to_workspace:
|
||||
root: docs
|
||||
paths: html
|
||||
|
85
.gitattributes
vendored
@ -1,26 +1,61 @@
|
||||
* text=auto encoding=UTF-8
|
||||
*.c text encoding=UTF-8 eol=lf
|
||||
*.cpp text encoding=UTF-8 eol=lf
|
||||
*.cxx text encoding=UTF-8 eol=lf
|
||||
*.dox text encoding=UTF-8 eol=lf
|
||||
*.h text encoding=UTF-8 eol=lf
|
||||
*.hpp text encoding=UTF-8 eol=lf
|
||||
*.hxx text encoding=UTF-8 eol=lf
|
||||
*.inl text encoding=UTF-8 eol=lf
|
||||
*.toml text=auto encoding=UTF-8
|
||||
*.xml text=auto encoding=UTF-8
|
||||
*.py text encoding=UTF-8 eol=lf
|
||||
*.natvis text encoding=UTF-8 eol=crlf
|
||||
*.props text encoding=UTF-8 eol=crlf
|
||||
*.vcxproj text encoding=UTF-8 eol=crlf
|
||||
*.sln text encoding=UTF-8-BOM eol=crlf
|
||||
*.runsettings text encoding=UTF-8 eol=crlf
|
||||
*.md text encoding=UTF-8 eol=lf
|
||||
*.css text encoding=UTF-8 eol=lf
|
||||
.gitignore text encoding=UTF-8 eol=lf
|
||||
.gitattributes text encoding=UTF-8 eol=lf
|
||||
.editorconfig text encoding=UTF-8 eol=lf
|
||||
meson.build text encoding=UTF-8 eol=lf
|
||||
meson_options.txt text encoding=UTF-8 eol=lf
|
||||
Doxyfile text encoding=UTF-8 eol=lf
|
||||
Doxyfile-mcss text encoding=UTF-8 eol=lf
|
||||
|
||||
*.c text eol=lf encoding=UTF-8
|
||||
*.cpp text eol=lf encoding=UTF-8
|
||||
*.css text eol=lf encoding=UTF-8
|
||||
*.cxx text eol=lf encoding=UTF-8
|
||||
*.dox text eol=lf encoding=UTF-8
|
||||
*.h text eol=lf encoding=UTF-8
|
||||
*.hint text eol=lf encoding=UTF-8
|
||||
*.hlsl text eol=crlf encoding=UTF-8
|
||||
*.hpp text eol=lf encoding=UTF-8
|
||||
*.htm text eol=lf encoding=UTF-8
|
||||
*.html text eol=lf encoding=UTF-8
|
||||
*.hxx text eol=lf encoding=UTF-8
|
||||
*.ini text eol=lf encoding=UTF-8
|
||||
*.inl text eol=lf encoding=UTF-8
|
||||
*.md text eol=lf encoding=UTF-8
|
||||
*.natvis text eol=lf encoding=UTF-8
|
||||
*.props text eol=lf encoding=UTF-8
|
||||
*.py text eol=lf encoding=UTF-8
|
||||
*.rc text eol=crlf encoding=UTF-8
|
||||
*.runsettings text eol=lf encoding=UTF-8
|
||||
*.sln text eol=crlf encoding=UTF-8-BOM
|
||||
*.toml text eol=lf encoding=UTF-8
|
||||
*.txt text eol=lf encoding=UTF-8
|
||||
*.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
|
||||
compile_commands.json
|
||||
[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
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
26
.gitmodules
vendored
@ -1,15 +1,15 @@
|
||||
[submodule "extern/Catch2"]
|
||||
path = extern/Catch2
|
||||
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
|
||||
[submodule "external/toml-test"]
|
||||
path = external/toml-test
|
||||
url = https://github.com/BurntSushi/toml-test.git
|
||||
[submodule "extern/toml-spec-tests"]
|
||||
path = extern/toml-spec-tests
|
||||
[submodule "external/toml-spec-tests"]
|
||||
path = external/toml-spec-tests
|
||||
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
|
||||
- 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`
|
||||
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>
|
||||
|
||||
@ -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`.
|
||||
The first time you want to begin testing you'll need to ensure submodules have been fetched:
|
||||
```bash
|
||||
git submodule update --init extern/Catch2
|
||||
git submodule update --init extern/tloptional
|
||||
git submodule update --init --depth 1 external/Catch2 external/tloptional
|
||||
```
|
||||
|
||||
### 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)
|
||||
[![C++17](docs/badge-C++17.svg)][cpp_compilers]
|
||||
[![C++20](docs/badge-C++20.svg)][cpp_compilers]
|
||||
[![TOML](docs/badge-TOML.svg)][v1.0.0]
|
||||
[![MIT license](docs/badge-license-MIT.svg)](./LICENSE)
|
||||
[![C++17](docs/images/badge-C++17.svg)][cpp_compilers]
|
||||
[![C++20](docs/images/badge-C++20.svg)][cpp_compilers]
|
||||
[![TOML](docs/images/badge-TOML.svg)][v1.0.0]
|
||||
[![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)
|
||||
[![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
|
||||
|
||||
<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>
|
||||
|
||||
<br>
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
# 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]_
|
||||
|
||||
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
|
||||
`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
|
||||
2. There is no step two
|
||||
|
||||
### 🍨 Regular flavour
|
||||
### 🍨️ Regular flavour
|
||||
1. Add `tomlplusplus/include` to your include paths
|
||||
2. `#include <toml++/toml.h>`
|
||||
|
||||
@ -108,7 +108,7 @@ depends: [
|
||||
'tomlpp^2.3.0',
|
||||
]
|
||||
```
|
||||
> ℹ _[What is DDS?](https://dds.pizza/)_
|
||||
> ℹ️ _[What is DDS?](https://dds.pizza/)_
|
||||
|
||||
### 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_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._
|
||||
|
||||
<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
|
||||
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
|
||||
- [#562]: Allow hex floating-point values
|
||||
- [#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
|
||||
- [#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:
|
||||
- [#356]: Allow leading zeros in the exponent part of a float
|
||||
- [#567]: Control characters are not permitted in comments
|
||||
@ -173,7 +173,7 @@ All features supported, including:
|
||||
- [#665]: Make arrays heterogeneous
|
||||
- [#766]: Allow comments before commas in arrays
|
||||
|
||||
### 🔹 **TOML v0.5.0:**
|
||||
### 🔹️ **TOML v0.5.0:**
|
||||
All features supported.
|
||||
|
||||
<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
|
273
docs/Doxyfile
@ -1,4 +1,4 @@
|
||||
# Doxyfile 1.8.16
|
||||
# Doxyfile 1.9.1
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
@ -6,9 +6,9 @@
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = toml++
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_BRIEF = TOML for modern C++
|
||||
PROJECT_BRIEF = "TOML for modern C++"
|
||||
PROJECT_LOGO = logo.png
|
||||
OUTPUT_DIRECTORY = ./
|
||||
OUTPUT_DIRECTORY =
|
||||
CREATE_SUBDIRS = NO
|
||||
ALLOW_UNICODE_NAMES = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
@ -36,31 +36,11 @@ JAVADOC_AUTOBRIEF = NO
|
||||
JAVADOC_BANNER = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
PYTHON_DOCSTRING = YES
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 4
|
||||
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 =
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
@ -81,6 +61,7 @@ INLINE_GROUPED_CLASSES = NO
|
||||
INLINE_SIMPLE_STRUCTS = NO
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
LOOKUP_CACHE_SIZE = 1
|
||||
NUM_PROC_THREADS = 1
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
@ -92,6 +73,7 @@ EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
RESOLVE_UNNAMED_PARAMS = YES
|
||||
HIDE_UNDOC_MEMBERS = YES
|
||||
HIDE_UNDOC_CLASSES = YES
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
@ -132,12 +114,12 @@ WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_AS_ERROR = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE = ./doc/doxygen_warnings.log
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../include
|
||||
INPUT += ../docs
|
||||
INPUT = ../include/ \
|
||||
pages/
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *.h \
|
||||
*.dox
|
||||
@ -149,158 +131,13 @@ EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH = ./
|
||||
IMAGE_PATH = images/
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
FILTER_SOURCE_PATTERNS =
|
||||
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
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
@ -309,92 +146,6 @@ EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = NO
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = \
|
||||
"DOXYGEN=1" \
|
||||
"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"
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
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"
|
||||
/// 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>
|
||||
/// 1. Drop `toml.hpp` wherever you like in your source tree
|
||||
@ -475,7 +475,7 @@
|
||||
///
|
||||
/// \subsection mainpage-adding-lib-python Special mention: Python
|
||||
/// Yes, you read correctly, python. There exists a python wrapper built around toml++ called
|
||||
/// \gh2{bobfang1992/pytomlpp, pytomlpp}:
|
||||
/// \github{bobfang1992/pytomlpp, pytomlpp}:
|
||||
///
|
||||
/// \bash
|
||||
/// pip install pytomlpp
|
||||
@ -496,9 +496,9 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// \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,
|
||||
/// 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.
|
||||
///
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@ -516,7 +516,7 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
///
|
||||
/// \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:
|
||||
/// - Twitter: [marzer8789](https://twitter.com/marzer8789)
|
||||
/// - Email: [mark.gillard@outlook.com.au](mailto:mark.gillard@outlook.com.au)
|
@ -33,18 +33,18 @@
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="toml++.props" />
|
||||
<Import Project="..\toml++.props" />
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="toml++.natvis" />
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\examples\error_printer.cpp" />
|
||||
<ClCompile Include="error_printer.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\examples\meson.build" />
|
||||
<None Include="meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -33,19 +33,19 @@
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="toml++.props" />
|
||||
<Import Project="..\toml++.props" />
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\examples\simple_parser.cpp" />
|
||||
<ClCompile Include="simple_parser.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\examples\example.toml" />
|
||||
<None Include="..\examples\meson.build" />
|
||||
<None Include="example.toml" />
|
||||
<None Include="meson.build" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="toml++.natvis" />
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -34,18 +34,18 @@
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="toml++.props" />
|
||||
<Import Project="..\toml++.props" />
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\examples\toml_generator.cpp" />
|
||||
<ClCompile Include="toml_generator.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="toml++.natvis" />
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\examples\meson.build" />
|
||||
<None Include="meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -34,18 +34,18 @@
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="toml++.props" />
|
||||
<Import Project="..\toml++.props" />
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)..\examples\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\examples\toml_to_json_transcoder.cpp" />
|
||||
<ClCompile Include="toml_to_json_transcoder.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="toml++.natvis" />
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\examples\meson.build" />
|
||||
<None Include="meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</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"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SPAM_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SPAM_WARNINGS;
|
||||
|
||||
#include "toml_common.h"
|
||||
#include "toml_date_time.h"
|
||||
@ -50,7 +50,7 @@ TOML_DISABLE_SPAM_WARNINGS
|
||||
|
||||
#endif // TOML_IMPLEMENTATION
|
||||
|
||||
TOML_POP_WARNINGS // TOML_DISABLE_SPAM_WARNINGS
|
||||
TOML_POP_WARNINGS; // TOML_DISABLE_SPAM_WARNINGS
|
||||
|
||||
// macro hygiene
|
||||
#if TOML_UNDEF_MACROS
|
||||
|
@ -6,6 +6,7 @@
|
||||
#pragma once
|
||||
#include "toml_value.h"
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <bool IsConst>
|
||||
@ -165,7 +166,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
return *(raw_ + idx)->get();
|
||||
}
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
|
||||
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
||||
operator array_iterator<true>() const noexcept
|
||||
@ -173,7 +174,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
return array_iterator<true>{ raw_ };
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
@ -248,7 +249,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
return make_node(std::move(val.value));
|
||||
}
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -313,6 +315,8 @@ TOML_NAMESPACE_START
|
||||
: public node
|
||||
{
|
||||
private:
|
||||
/// \cond
|
||||
|
||||
friend class TOML_PARSER_TYPENAME;
|
||||
std::vector<std::unique_ptr<node>> elements;
|
||||
|
||||
@ -334,6 +338,11 @@ TOML_NAMESPACE_START
|
||||
void lh_dtor() noexcept;
|
||||
#endif
|
||||
|
||||
[[nodiscard]] size_t total_leaf_count() const noexcept;
|
||||
|
||||
void flatten_child(array&& child, size_t& dest_index) noexcept;
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
|
||||
using value_type = node;
|
||||
@ -423,6 +432,9 @@ TOML_NAMESPACE_START
|
||||
#endif
|
||||
}
|
||||
|
||||
/// \name Type checks
|
||||
/// @{
|
||||
|
||||
[[nodiscard]] node_type type() const noexcept override;
|
||||
[[nodiscard]] bool is_table() 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>);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Array operations
|
||||
/// @{
|
||||
|
||||
/// \brief Gets a reference to the element at a specific index.
|
||||
[[nodiscard]] node& operator[] (size_t index) noexcept;
|
||||
/// \brief Gets a reference to the element at a specific index.
|
||||
@ -512,10 +529,9 @@ TOML_NAMESPACE_START
|
||||
/// \param pos The insertion position.
|
||||
/// \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.
|
||||
/// <br><br>
|
||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
||||
/// \conditional_return{Input is an empty toml::node_view}
|
||||
/// end()
|
||||
///
|
||||
/// \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 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.
|
||||
/// <br><br>
|
||||
/// <strong><em>`count == 0`:</em></strong><br>
|
||||
/// \conditional_return{count == 0}
|
||||
/// A copy of pos
|
||||
/// <br><br>
|
||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
||||
/// \conditional_return{Input is an empty toml::node_view}
|
||||
/// end()
|
||||
///
|
||||
/// \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 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.
|
||||
/// <br><br>
|
||||
/// <strong><em>`first >= last`:</em></strong><br>
|
||||
/// \conditional_return{first >= last}
|
||||
/// A copy of pos
|
||||
/// <br><br>
|
||||
/// <strong><em>All objects in the range were empty toml::node_views:</em></strong><br>
|
||||
/// \conditional_return{All objects in the range were empty toml::node_views}
|
||||
/// A copy of pos
|
||||
template <typename Iter>
|
||||
iterator insert(const_iterator pos, Iter first, Iter last) noexcept
|
||||
@ -656,13 +668,11 @@ TOML_NAMESPACE_START
|
||||
/// \param pos The insertion position.
|
||||
/// \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.
|
||||
/// <br><br>
|
||||
/// <strong><em>`ilist.size() == 0`:</em></strong><br>
|
||||
/// \conditional_return{Input list is empty}
|
||||
/// A copy of pos
|
||||
/// <br><br>
|
||||
/// <strong><em>All objects in the list were empty toml::node_views:</em></strong><br>
|
||||
/// \conditional_return{All objects in the list were empty toml::node_views}
|
||||
/// A copy of pos
|
||||
template <typename ElemType>
|
||||
iterator insert(const_iterator pos, std::initializer_list<ElemType> ilist) noexcept
|
||||
@ -955,6 +965,40 @@ TOML_NAMESPACE_START
|
||||
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.
|
||||
///
|
||||
/// \param lhs The LHS array.
|
||||
@ -999,10 +1043,6 @@ TOML_NAMESPACE_START
|
||||
return true;
|
||||
}
|
||||
|
||||
[[nodiscard]] size_t total_leaf_count() const noexcept;
|
||||
|
||||
void flatten_child(array&& child, size_t& dest_index) noexcept;
|
||||
|
||||
public:
|
||||
|
||||
/// \brief Initializer list equality operator.
|
||||
@ -1012,7 +1052,7 @@ TOML_NAMESPACE_START
|
||||
{
|
||||
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.
|
||||
template <typename T>
|
||||
@ -1021,36 +1061,9 @@ TOML_NAMESPACE_START
|
||||
{
|
||||
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.
|
||||
template <typename Char>
|
||||
@ -1058,4 +1071,4 @@ TOML_NAMESPACE_START
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -10,7 +10,7 @@
|
||||
//# INCLUDES
|
||||
//#====================================================================================================================
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
@ -30,7 +30,7 @@ TOML_DISABLE_WARNINGS
|
||||
#if TOML_HAS_INCLUDE(<version>)
|
||||
#include <version>
|
||||
#endif
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
#ifdef __cpp_lib_launder
|
||||
#define TOML_LAUNDER(x) std::launder(x)
|
||||
@ -42,7 +42,7 @@ TOML_ENABLE_WARNINGS
|
||||
//# ENVIRONMENT GROUND-TRUTHS
|
||||
//#====================================================================================================================
|
||||
|
||||
#ifndef DOXYGEN
|
||||
/// \cond
|
||||
#ifndef TOML_DISABLE_ENVIRONMENT_CHECKS
|
||||
#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 " \
|
||||
@ -61,13 +61,14 @@ static_assert(std::numeric_limits<double>::digits10 == 15, TOML_ENV_MESSAGE);
|
||||
|
||||
#undef TOML_ENV_MESSAGE
|
||||
#endif // !TOML_DISABLE_ENVIRONMENT_CHECKS
|
||||
#endif // !DOXYGEN
|
||||
/// \endcond
|
||||
|
||||
//#====================================================================================================================
|
||||
//# 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
|
||||
{
|
||||
@ -103,7 +104,7 @@ TOML_NAMESPACE_START // abi namespace
|
||||
|
||||
TOML_ABI_NAMESPACE_BOOL(TOML_HAS_CUSTOM_OPTIONAL_TYPE, custopt, stdopt)
|
||||
struct date_time;
|
||||
TOML_ABI_NAMESPACE_END
|
||||
TOML_ABI_NAMESPACE_END;
|
||||
|
||||
class node;
|
||||
class array;
|
||||
@ -182,12 +183,12 @@ TOML_NAMESPACE_START // abi namespace
|
||||
#define TOML_PARSER_TYPENAME TOML_NAMESPACE::impl::parser
|
||||
#endif
|
||||
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
|
||||
@ -271,12 +272,13 @@ TOML_NAMESPACE_START // abi namespace
|
||||
};
|
||||
template <typename T> inserter(T&&) -> inserter<T>;
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
//#====================================================================================================================
|
||||
//# VALUE AND NODE TRAITS
|
||||
//#====================================================================================================================
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
// general value traits
|
||||
@ -529,7 +531,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
template <typename T>
|
||||
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
|
||||
{
|
||||
@ -577,12 +580,13 @@ TOML_NAMESPACE_START
|
||||
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>>;
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
//#====================================================================================================================
|
||||
//# INTERNAL HELPERS
|
||||
//#====================================================================================================================
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <typename T>
|
||||
@ -677,7 +681,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
"date-time"sv
|
||||
};
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -689,7 +694,7 @@ TOML_NAMESPACE_START
|
||||
return static_cast<size_t>(n);
|
||||
}
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
//#====================================================================================================================
|
||||
//# SOURCE POSITIONS & REGIONS
|
||||
@ -825,9 +830,9 @@ TOML_NAMESPACE_START
|
||||
|
||||
/// \brief The path to the corresponding source document as a wide-string.
|
||||
///
|
||||
/// \remarks This will return an empty optional if no path was provided to toml::parse().
|
||||
/// \availability This function is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
///
|
||||
/// \attention 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().
|
||||
[[nodiscard]]
|
||||
optional<std::wstring> wide_path() const noexcept
|
||||
{
|
||||
@ -839,9 +844,9 @@ TOML_NAMESPACE_START
|
||||
#endif
|
||||
};
|
||||
|
||||
TOML_ABI_NAMESPACE_END // TOML_LARGE_FILES
|
||||
TOML_ABI_NAMESPACE_END; // TOML_LARGE_FILES
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
//#====================================================================================================================
|
||||
//# OTHER
|
||||
@ -864,7 +869,7 @@ TOML_NAMESPACE_START
|
||||
/// \brief Format integer values as hexadecimal.
|
||||
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.
|
||||
enum class format_flags : uint8_t
|
||||
@ -884,7 +889,7 @@ TOML_NAMESPACE_START
|
||||
/// \brief Values with special format flags will be formatted accordingly.
|
||||
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.
|
||||
///
|
||||
@ -917,8 +922,7 @@ TOML_NAMESPACE_START
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DOXYGEN
|
||||
|
||||
/// \cond
|
||||
namespace impl
|
||||
{
|
||||
#define TOML_P2S_DECL(Type) \
|
||||
@ -949,7 +953,7 @@ TOML_NAMESPACE_START
|
||||
extern template TOML_API std::ostream& operator << (std::ostream&, node_type);
|
||||
#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.
|
||||
/// \detail \cpp
|
||||
@ -425,4 +425,4 @@ TOML_NAMESPACE_START
|
||||
extern template TOML_API std::ostream& operator << (std::ostream&, const date_time&);
|
||||
#endif
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -9,16 +9,18 @@
|
||||
#include "toml_array.h"
|
||||
#include "toml_utf8.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
[[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 bool default_formatter_forces_multiline(const node&, size_t = 0) noexcept;
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -406,7 +408,7 @@ TOML_NAMESPACE_START
|
||||
|
||||
#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"
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <cmath>
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -199,14 +199,14 @@ TOML_NAMESPACE_START
|
||||
base::clear_naked_newline();
|
||||
}
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
// implementations of windows wide string nonsense
|
||||
#if TOML_WINDOWS_COMPAT
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <windows.h> // fuckkkk :(
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
@ -260,8 +260,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
|
||||
#endif // __cpp_lib_char8_t
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
|
||||
#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
|
||||
#include "toml_print_to_stream.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <typename Char = char>
|
||||
@ -232,6 +233,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
#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
|
||||
//# }}
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <ostream>
|
||||
#include <istream>
|
||||
#include <fstream>
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
#include "toml_node_view.h"
|
||||
#include "toml_default_formatter.h"
|
||||
@ -36,7 +36,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
// print to stream machinery
|
||||
template TOML_API void print_floating_point_to_stream(double, std::ostream&, bool);
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
|
||||
// public namespace
|
||||
TOML_NAMESPACE_START
|
||||
@ -148,8 +148,8 @@ TOML_NAMESPACE_START
|
||||
template TOML_API parse_result parse_file(std::wstring_view) TOML_MAY_THROW;
|
||||
#endif
|
||||
|
||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
||||
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||
|
||||
#endif // TOML_PARSER
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -6,8 +6,8 @@
|
||||
#pragma once
|
||||
#include "toml_formatter.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -154,6 +154,6 @@ TOML_NAMESPACE_START
|
||||
extern template TOML_API std::ostream& operator << (std::ostream&, json_formatter<char>&&);
|
||||
#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"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -58,6 +58,6 @@ TOML_NAMESPACE_START
|
||||
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;
|
||||
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:
|
||||
|
||||
node() noexcept = default;
|
||||
@ -109,7 +138,8 @@ TOML_NAMESPACE_START
|
||||
|
||||
virtual ~node() noexcept = default;
|
||||
|
||||
|
||||
/// \name Type checks
|
||||
/// @{
|
||||
|
||||
#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();
|
||||
}
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \detail \cpp
|
||||
@ -232,8 +233,11 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \param ntype A TOML node type. <br>
|
||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
||||
/// \conditional_return{toml::node_type::none}
|
||||
/// "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
|
||||
/// will be stored if the return value is false.
|
||||
///
|
||||
@ -264,8 +268,10 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \param ntype A TOML node type. <br>
|
||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
||||
/// \conditional_return{toml::node_type::none}
|
||||
/// "is every element the same type?"
|
||||
/// \conditional_return{Anything else}
|
||||
/// "is every element one of these?"
|
||||
///
|
||||
/// \returns True if the node was homogeneous.
|
||||
///
|
||||
@ -291,8 +297,10 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \tparam ElemType A TOML node or value type. <br>
|
||||
/// <strong><em>Left as `void`:</em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Explicitly specified:</em></strong> "is every element a T?"
|
||||
/// \conditional_return{Left as `void`}
|
||||
/// "is every element the same type?" <br>
|
||||
/// \conditional_return{Explicitly specified}
|
||||
/// "is every element a T?"
|
||||
///
|
||||
/// \returns True if the node was homogeneous.
|
||||
///
|
||||
@ -312,18 +320,112 @@ TOML_NAMESPACE_START
|
||||
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>
|
||||
[[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.
|
||||
///
|
||||
@ -463,7 +565,7 @@ TOML_NAMESPACE_START
|
||||
/// \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.
|
||||
///
|
||||
/// \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.
|
||||
///
|
||||
/// \see node::value_exact()
|
||||
@ -481,7 +583,7 @@ TOML_NAMESPACE_START
|
||||
/// \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.
|
||||
///
|
||||
/// \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()
|
||||
/// instead.
|
||||
///
|
||||
@ -500,79 +602,65 @@ TOML_NAMESPACE_START
|
||||
//[[nodiscard]]
|
||||
//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
|
||||
///
|
||||
/// 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";
|
||||
/// auto tbl = toml::parse(R"(
|
||||
/// min = 32
|
||||
/// max = 45
|
||||
/// )"sv);
|
||||
///
|
||||
/// // 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";
|
||||
/// 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 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>
|
||||
[[nodiscard]]
|
||||
TOML_ATTR(pure)
|
||||
impl::wrap_node<T>* as() noexcept
|
||||
impl::unwrap_node<T>& ref() & 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();
|
||||
return do_ref<T>(*this);
|
||||
}
|
||||
|
||||
/// \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>
|
||||
[[nodiscard]]
|
||||
TOML_ATTR(pure)
|
||||
const impl::wrap_node<T>* as() const noexcept
|
||||
impl::unwrap_node<T>&& ref() && 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();
|
||||
return do_ref<T>(std::move(*this));
|
||||
}
|
||||
|
||||
/// \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.
|
||||
[[nodiscard]] const source_region& source() const noexcept;
|
||||
|
||||
/// @}
|
||||
|
||||
private:
|
||||
|
||||
/// \cond
|
||||
|
||||
template <typename Func, typename N, typename T>
|
||||
static constexpr bool can_visit = std::is_invocable_v<Func, ref_cast_type<N, T>>;
|
||||
|
||||
@ -723,30 +811,13 @@ TOML_NAMESPACE_START
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
|
||||
public:
|
||||
|
||||
/// \name Visitation
|
||||
/// @{
|
||||
|
||||
/// \brief Invokes a visitor on the node based on the node's concrete type.
|
||||
///
|
||||
/// \details Visitation is useful when you expect
|
||||
@ -798,56 +869,18 @@ TOML_NAMESPACE_START
|
||||
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).
|
||||
template <typename T>
|
||||
[[nodiscard]]
|
||||
TOML_ATTR(pure)
|
||||
impl::unwrap_node<T>&& ref() && noexcept
|
||||
{
|
||||
return do_ref<T>(std::move(*this));
|
||||
}
|
||||
/// \name Node views
|
||||
/// @{
|
||||
|
||||
/// \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);
|
||||
}
|
||||
|
||||
/// \brief Creates a `node_view` pointing to this node.
|
||||
/// \brief Creates a node_view pointing to this node.
|
||||
[[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;
|
||||
|
||||
/// @}
|
||||
};
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -99,4 +99,4 @@ TOML_NAMESPACE_START
|
||||
return node_view<const node>(this);
|
||||
}
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -8,8 +8,8 @@
|
||||
#include "toml_array.h"
|
||||
#include "toml_value.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -210,8 +210,9 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \param ntype A TOML node type. <br>
|
||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
||||
/// \conditional_return{toml::node_type::none} "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
|
||||
/// will be stored if the return value is false.
|
||||
///
|
||||
@ -249,8 +250,8 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \param ntype A TOML node type. <br>
|
||||
/// <strong><em>toml::node_type::none: </em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Anything else:</em></strong> "is every element one of these?"
|
||||
/// \conditional_return{toml::node_type::none} "is every element the same type?"
|
||||
/// \conditional_return{Anything else} "is every element one of these?"
|
||||
///
|
||||
/// \returns True if the viewed node was homogeneous.
|
||||
///
|
||||
@ -281,8 +282,8 @@ TOML_NAMESPACE_START
|
||||
/// \eout
|
||||
///
|
||||
/// \tparam ElemType A TOML node or value type. <br>
|
||||
/// <strong><em>Left as `void`:</em></strong> "is every element the same type?" <br>
|
||||
/// <strong><em>Explicitly specified:</em></strong> "is every element a T?"
|
||||
/// \conditional_return{Left as `void`} "is every element the same type?" <br>
|
||||
/// \conditional_return{Explicitly specified} "is every element a T?"
|
||||
///
|
||||
/// \returns True if the viewed node was homogeneous.
|
||||
///
|
||||
@ -316,8 +317,8 @@ TOML_NAMESPACE_START
|
||||
return {};
|
||||
}
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
/// \brief Gets the value contained by the referenced node.
|
||||
///
|
||||
@ -332,7 +333,7 @@ TOML_NAMESPACE_START
|
||||
/// \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.
|
||||
///
|
||||
/// \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.
|
||||
///
|
||||
/// \see
|
||||
@ -347,7 +348,7 @@ TOML_NAMESPACE_START
|
||||
return {};
|
||||
}
|
||||
|
||||
TOML_POP_WARNINGS
|
||||
TOML_POP_WARNINGS;
|
||||
|
||||
/// \brief Gets the raw value contained by the referenced node, or a default.
|
||||
///
|
||||
@ -359,7 +360,7 @@ TOML_NAMESPACE_START
|
||||
/// \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.
|
||||
///
|
||||
/// \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()
|
||||
/// instead.
|
||||
///
|
||||
@ -465,7 +466,7 @@ TOML_NAMESPACE_START
|
||||
const auto tbl = lhs.as<table>();
|
||||
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.
|
||||
[[nodiscard]]
|
||||
@ -476,7 +477,7 @@ TOML_NAMESPACE_START
|
||||
const auto arr = lhs.as<array>();
|
||||
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.
|
||||
template <typename T>
|
||||
@ -488,7 +489,7 @@ TOML_NAMESPACE_START
|
||||
const auto val = lhs.as<T>();
|
||||
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.
|
||||
template <typename T, typename = std::enable_if_t<
|
||||
@ -525,7 +526,7 @@ TOML_NAMESPACE_START
|
||||
impl::is_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.
|
||||
template <typename T>
|
||||
@ -535,7 +536,7 @@ TOML_NAMESPACE_START
|
||||
const auto arr = lhs.as<array>();
|
||||
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.
|
||||
template <typename T>
|
||||
@ -545,7 +546,7 @@ TOML_NAMESPACE_START
|
||||
const auto arr = lhs.as<array>();
|
||||
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.
|
||||
///
|
||||
@ -565,12 +566,12 @@ TOML_NAMESPACE_START
|
||||
|
||||
/// \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
|
||||
///
|
||||
/// \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.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
[[nodiscard]]
|
||||
node_view operator[] (std::wstring_view key) const noexcept
|
||||
{
|
||||
@ -676,6 +677,6 @@ TOML_NAMESPACE_START
|
||||
|
||||
#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.
|
||||
#endif
|
||||
//# }}
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#if TOML_EXCEPTIONS
|
||||
#include <stdexcept>
|
||||
#endif
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -114,7 +114,7 @@ TOML_NAMESPACE_START
|
||||
|
||||
#endif
|
||||
|
||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
||||
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||
|
||||
/// \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&);
|
||||
#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
|
||||
/// 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
|
||||
/// #if TOML_EXCEPTIONS
|
||||
/// 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.
|
||||
///
|
||||
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
///
|
||||
/// \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,
|
||||
/// or an empty 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
|
||||
{
|
||||
@ -252,14 +252,14 @@ TOML_NAMESPACE_START
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \returns A view of the value at the given key if parsing was successful and a matching key existed,
|
||||
/// or an empty 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
|
||||
{
|
||||
@ -330,19 +330,20 @@ TOML_NAMESPACE_START
|
||||
|
||||
#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_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex)
|
||||
|
||||
[[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
|
||||
#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)) \
|
||||
}}
|
||||
#endif
|
||||
/// \endcond
|
||||
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
parse_result parse(std::string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
||||
@ -420,15 +426,17 @@ TOML_NAMESPACE_START
|
||||
/// 3
|
||||
/// \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 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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
parse_result parse(std::u8string_view doc, std::string&& source_path) TOML_MAY_THROW;
|
||||
@ -490,22 +502,23 @@ TOML_NAMESPACE_START
|
||||
/// \detail \cpp
|
||||
/// auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
|
||||
/// std::cout << tbl["a"] << "\n";
|
||||
///
|
||||
/// \ecpp
|
||||
///
|
||||
/// \out
|
||||
/// 3
|
||||
/// \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 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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
template <typename Char>
|
||||
[[nodiscard]]
|
||||
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)
|
||||
/// then this parameter can safely be left blank.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
template <typename Char>
|
||||
[[nodiscard]]
|
||||
inline parse_result parse(std::basic_istream<Char>& doc, std::string&& source_path) TOML_MAY_THROW
|
||||
@ -601,16 +618,18 @@ TOML_NAMESPACE_START
|
||||
/// 3
|
||||
/// \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.
|
||||
/// \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`.
|
||||
/// 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.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
template <typename Char>
|
||||
[[nodiscard]]
|
||||
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.
|
||||
/// \param file_path The TOML document to parse. Must be valid UTF-8.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// 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).
|
||||
template <typename Char, typename StreamChar = char>
|
||||
@ -733,7 +754,7 @@ TOML_NAMESPACE_START
|
||||
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
|
||||
{
|
||||
@ -756,8 +777,10 @@ TOML_NAMESPACE_START
|
||||
/// \param str The string data. Must be valid UTF-8.
|
||||
/// \param len The string length.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
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 len The string length.
|
||||
///
|
||||
/// \returns <strong><em>With exceptions:</em></strong> A toml::table. <br>
|
||||
/// <strong><em>Without exceptions:</em></strong> A toml::parse_result detailing the parsing outcome.
|
||||
/// \returns \conditional_return{With exceptions}
|
||||
/// A toml::table.
|
||||
/// \conditional_return{Without exceptions}
|
||||
/// A toml::parse_result.
|
||||
[[nodiscard]]
|
||||
TOML_API
|
||||
parse_result operator"" _toml(const char8_t* str, size_t len) TOML_MAY_THROW;
|
||||
|
||||
#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
|
||||
|
@ -15,7 +15,7 @@
|
||||
//# }}
|
||||
|
||||
#include "toml_parser.h"
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <cmath>
|
||||
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
||||
#include <charconv>
|
||||
@ -26,10 +26,10 @@ TOML_DISABLE_WARNINGS
|
||||
#if !TOML_HEADER_ONLY
|
||||
using namespace std::string_view_literals;
|
||||
#endif
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
#if TOML_EXCEPTIONS && !defined(__INTELLISENSE__)
|
||||
#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
|
||||
{
|
||||
@ -1118,9 +1118,9 @@ TOML_IMPL_NAMESPACE_START
|
||||
: std::numeric_limits<double>::quiet_NaN();
|
||||
}
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
[[nodiscard]]
|
||||
double parse_float() TOML_MAY_THROW
|
||||
@ -1820,7 +1820,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
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::table* parse_inline_table() TOML_MAY_THROW;
|
||||
@ -2826,8 +2826,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
update_region_ends(root);
|
||||
}
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
[[nodiscard]]
|
||||
operator parse_result() && noexcept
|
||||
@ -2847,7 +2847,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
|
||||
}
|
||||
|
||||
TOML_POP_WARNINGS
|
||||
TOML_POP_WARNINGS;
|
||||
};
|
||||
|
||||
TOML_EXTERNAL_LINKAGE
|
||||
@ -3008,7 +3008,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
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_1
|
||||
@ -3029,7 +3029,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
#undef advance_and_return_if_error_or_eof
|
||||
#undef assert_or_assume
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -3089,7 +3089,7 @@ TOML_NAMESPACE_START
|
||||
|
||||
#endif // __cpp_lib_char8_t
|
||||
|
||||
TOML_ABI_NAMESPACE_END // TOML_EXCEPTIONS
|
||||
TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
|
||||
|
||||
inline namespace literals
|
||||
{
|
||||
@ -3113,9 +3113,9 @@ TOML_NAMESPACE_START
|
||||
|
||||
#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
|
||||
|
||||
#define TOML_PUSH_WARNINGS _Pragma("clang diagnostic push")
|
||||
#define TOML_DISABLE_SWITCH_WARNINGS _Pragma("clang diagnostic ignored \"-Wswitch\"")
|
||||
#define TOML_DISABLE_INIT_WARNINGS _Pragma("clang diagnostic ignored \"-Wmissing-field-initializers\"")
|
||||
#define TOML_PUSH_WARNINGS _Pragma("clang diagnostic push") \
|
||||
static_assert(true)
|
||||
|
||||
#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\"") \
|
||||
_Pragma("clang diagnostic ignored \"-Wdouble-promotion\"") \
|
||||
_Pragma("clang diagnostic ignored \"-Wchar-subscripts\"") \
|
||||
_Pragma("clang diagnostic ignored \"-Wshift-sign-overflow\"")
|
||||
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("clang diagnostic ignored \"-Wshadow\"")
|
||||
_Pragma("clang diagnostic ignored \"-Wshift-sign-overflow\"") \
|
||||
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\"") \
|
||||
_Pragma("clang diagnostic ignored \"-Wweak-template-vtables\"") \
|
||||
_Pragma("clang diagnostic ignored \"-Wpadded\"")
|
||||
#define TOML_POP_WARNINGS _Pragma("clang diagnostic pop")
|
||||
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS \
|
||||
_Pragma("clang diagnostic ignored \"-Weverything\"")
|
||||
_Pragma("clang diagnostic ignored \"-Wpadded\"") \
|
||||
static_assert(true)
|
||||
|
||||
#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_ASSUME(cond) __builtin_assume(cond)
|
||||
#define TOML_UNREACHABLE __builtin_unreachable()
|
||||
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
||||
@ -111,13 +128,29 @@
|
||||
#if TOML_MSVC || TOML_ICC_CL
|
||||
|
||||
#define TOML_CPP_VERSION _MSVC_LANG
|
||||
#define TOML_PUSH_WARNINGS __pragma(warning(push))
|
||||
#if TOML_MSVC // !intel-cl
|
||||
#define TOML_PUSH_WARNINGS __pragma(warning(push))
|
||||
#define TOML_DISABLE_SWITCH_WARNINGS __pragma(warning(disable: 4063))
|
||||
#define TOML_POP_WARNINGS __pragma(warning(pop))
|
||||
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0))
|
||||
|
||||
#define TOML_PUSH_WARNINGS __pragma(warning(push)) \
|
||||
static_assert(true)
|
||||
|
||||
#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
|
||||
|
||||
#endif
|
||||
#ifndef TOML_ALWAYS_INLINE
|
||||
#define TOML_ALWAYS_INLINE __forceinline
|
||||
@ -136,14 +169,24 @@
|
||||
|
||||
#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 */ \
|
||||
__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: 2261)) /* assume expr side-effects discarded */
|
||||
#define TOML_POP_WARNINGS __pragma(warning(pop))
|
||||
#define TOML_DISABLE_WARNINGS __pragma(warning(push, 0))
|
||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
||||
__pragma(warning(disable: 2261)) /* assume expr side-effects discarded */ \
|
||||
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 \
|
||||
static_assert(true)
|
||||
|
||||
#endif // icc
|
||||
|
||||
@ -153,34 +196,51 @@
|
||||
|
||||
#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\"") \
|
||||
_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\"") \
|
||||
_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\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wsign-conversion\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wchar-subscripts\"")
|
||||
#define TOML_DISABLE_SHADOW_WARNINGS _Pragma("GCC diagnostic ignored \"-Wshadow\"")
|
||||
_Pragma("GCC diagnostic ignored \"-Wchar-subscripts\"") \
|
||||
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\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wcast-align\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wcomment\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wuseless-cast\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=pure\"")
|
||||
#define TOML_POP_WARNINGS _Pragma("GCC diagnostic pop")
|
||||
#define TOML_DISABLE_WARNINGS TOML_PUSH_WARNINGS \
|
||||
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=pure\"") \
|
||||
static_assert(true)
|
||||
|
||||
#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 \"-Wextra\"") \
|
||||
_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
|
||||
TOML_DISABLE_SWITCH_WARNINGS \
|
||||
TOML_DISABLE_INIT_WARNINGS \
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS \
|
||||
TOML_DISABLE_SHADOW_WARNINGS \
|
||||
TOML_DISABLE_SPAM_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS; \
|
||||
TOML_DISABLE_INIT_WARNINGS; \
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS; \
|
||||
TOML_DISABLE_SHADOW_WARNINGS; \
|
||||
TOML_DISABLE_SPAM_WARNINGS; \
|
||||
static_assert(true)
|
||||
|
||||
|
||||
#define TOML_ENABLE_WARNINGS TOML_POP_WARNINGS
|
||||
|
||||
#define TOML_ATTR(...) __attribute__((__VA_ARGS__))
|
||||
@ -313,7 +373,7 @@ is no longer necessary.
|
||||
#define TOML_EXCEPTIONS 0
|
||||
#endif
|
||||
|
||||
#if TOML_EXCEPTIONS
|
||||
#if defined(DOXYGEN) || TOML_EXCEPTIONS
|
||||
#define TOML_MAY_THROW
|
||||
#else
|
||||
#define TOML_MAY_THROW noexcept
|
||||
@ -343,31 +403,31 @@ is no longer necessary.
|
||||
#endif
|
||||
|
||||
#ifndef TOML_PUSH_WARNINGS
|
||||
#define TOML_PUSH_WARNINGS
|
||||
#define TOML_PUSH_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_SWITCH_WARNINGS
|
||||
#define TOML_DISABLE_SWITCH_WARNINGS
|
||||
#define TOML_DISABLE_SWITCH_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_INIT_WARNINGS
|
||||
#define TOML_DISABLE_INIT_WARNINGS
|
||||
#define TOML_DISABLE_INIT_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_SPAM_WARNINGS
|
||||
#define TOML_DISABLE_SPAM_WARNINGS
|
||||
#define TOML_DISABLE_SPAM_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
#define TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
#define TOML_DISABLE_ARITHMETIC_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_SHADOW_WARNINGS
|
||||
#define TOML_DISABLE_SHADOW_WARNINGS
|
||||
#define TOML_DISABLE_SHADOW_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_POP_WARNINGS
|
||||
#define TOML_POP_WARNINGS
|
||||
#define TOML_POP_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_DISABLE_WARNINGS
|
||||
#define TOML_DISABLE_WARNINGS
|
||||
#define TOML_DISABLE_WARNINGS static_assert(true)
|
||||
#endif
|
||||
#ifndef TOML_ENABLE_WARNINGS
|
||||
#define TOML_ENABLE_WARNINGS
|
||||
#define TOML_ENABLE_WARNINGS static_assert(true)
|
||||
#endif
|
||||
|
||||
#ifndef TOML_ATTR
|
||||
@ -440,7 +500,8 @@ is no longer necessary.
|
||||
#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 != (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
|
||||
#define TOML_SIMPLE_STATIC_ASSERT_MESSAGES 0
|
||||
@ -475,7 +536,8 @@ is no longer necessary.
|
||||
constexpr type operator | (type lhs, type rhs) noexcept \
|
||||
{ \
|
||||
return static_cast<type>(::toml::impl::unwrap_enum(lhs) | ::toml::impl::unwrap_enum(rhs)); \
|
||||
}
|
||||
} \
|
||||
static_assert(true)
|
||||
|
||||
#ifndef TOML_LIFETIME_HOOKS
|
||||
#define TOML_LIFETIME_HOOKS 0
|
||||
@ -551,18 +613,18 @@ is no longer necessary.
|
||||
#endif
|
||||
#if TOML_ABI_NAMESPACES
|
||||
#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_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_END }
|
||||
#define TOML_ABI_NAMESPACE_END } static_assert(true)
|
||||
#else
|
||||
#define TOML_NAMESPACE_START namespace toml
|
||||
#define TOML_NAMESPACE_END
|
||||
#define TOML_NAMESPACE_END static_assert(true)
|
||||
#define TOML_NAMESPACE toml
|
||||
#define TOML_ABI_NAMESPACE_START(...)
|
||||
#define TOML_ABI_NAMESPACE_BOOL(...)
|
||||
#define TOML_ABI_NAMESPACE_END
|
||||
#define TOML_ABI_NAMESPACE_END static_assert(true)
|
||||
#endif
|
||||
#define TOML_IMPL_NAMESPACE_START TOML_NAMESPACE_START { namespace impl
|
||||
#define TOML_IMPL_NAMESPACE_END } TOML_NAMESPACE_END
|
||||
@ -575,9 +637,9 @@ is no longer necessary.
|
||||
#define TOML_INTERNAL_LINKAGE inline
|
||||
#else
|
||||
#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_USING_ANON_NAMESPACE (void)0
|
||||
#define TOML_USING_ANON_NAMESPACE static_cast<void>(0)
|
||||
#define TOML_EXTERNAL_LINKAGE
|
||||
#define TOML_INTERNAL_LINKAGE static
|
||||
#endif
|
||||
@ -586,10 +648,10 @@ is no longer necessary.
|
||||
//# ASSERT
|
||||
//#====================================================================================================================
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#ifndef TOML_ASSERT
|
||||
#if defined(NDEBUG) || !defined(_DEBUG)
|
||||
#define TOML_ASSERT(expr) (void)0
|
||||
#define TOML_ASSERT(expr) static_cast<void>(0)
|
||||
#else
|
||||
#ifndef assert
|
||||
#include <cassert>
|
||||
@ -597,7 +659,7 @@ TOML_DISABLE_WARNINGS
|
||||
#define TOML_ASSERT(expr) assert(expr)
|
||||
#endif
|
||||
#endif
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
//#====================================================================================================================
|
||||
//# DOXYGEN SPAM
|
||||
@ -630,7 +692,6 @@ TOML_ENABLE_WARNINGS
|
||||
/// \ecpp
|
||||
|
||||
|
||||
#define TOML_API
|
||||
/// \def TOML_API
|
||||
/// \brief An annotation to add to public symbols.
|
||||
/// \detail Not defined by default.
|
||||
@ -643,7 +704,6 @@ TOML_ENABLE_WARNINGS
|
||||
/// \detail Defaults to the standard C `assert()`.
|
||||
|
||||
|
||||
#define TOML_CONFIG_HEADER
|
||||
/// \def TOML_CONFIG_HEADER
|
||||
/// \brief An additional header to include before any other toml++ header files.
|
||||
/// \detail Not defined by default.
|
||||
@ -685,7 +745,7 @@ TOML_ENABLE_WARNINGS
|
||||
/// \def TOML_SMALL_FLOAT_TYPE
|
||||
/// \brief If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
|
||||
/// \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.
|
||||
|
||||
#define TOML_SMALL_INT_TYPE
|
||||
@ -706,7 +766,7 @@ TOML_ENABLE_WARNINGS
|
||||
/// when building for Windows.
|
||||
/// \detail Defaults to `1` when building for Windows, `0` otherwise. Has no effect when building for anything other
|
||||
/// 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
|
||||
/// conversions when necessary at various interface boundaries.
|
||||
/// <br><br>
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "toml_date_time.h"
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <cmath>
|
||||
#if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV
|
||||
#include <charconv>
|
||||
@ -16,10 +16,10 @@ TOML_DISABLE_WARNINGS
|
||||
#if !TOML_INT_CHARCONV
|
||||
#include <iomanip>
|
||||
#endif
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
@ -377,8 +377,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
print_to_stream(*val.offset, stream);
|
||||
}
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||
|
||||
template <typename T, typename Char>
|
||||
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
|
||||
{
|
||||
@ -481,6 +481,6 @@ TOML_NAMESPACE_START
|
||||
extern template TOML_API std::ostream& operator << (std::ostream&, const source_region&);
|
||||
#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
|
||||
#include "toml_array.h"
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <bool IsConst>
|
||||
@ -135,7 +136,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
return lhs.raw_ != rhs.raw_;
|
||||
}
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
|
||||
template <bool C = IsConst, typename = std::enable_if_t<!C>>
|
||||
operator table_iterator<true>() const noexcept
|
||||
@ -143,7 +144,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
return table_iterator<true>{ raw_ };
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
};
|
||||
|
||||
struct table_init_pair final
|
||||
@ -192,7 +193,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
#endif
|
||||
};
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -214,6 +216,8 @@ TOML_NAMESPACE_START
|
||||
private:
|
||||
friend class TOML_PARSER_TYPENAME;
|
||||
|
||||
/// \cond
|
||||
|
||||
impl::string_map<std::unique_ptr<node>> map;
|
||||
bool inline_ = false;
|
||||
|
||||
@ -224,6 +228,8 @@ TOML_NAMESPACE_START
|
||||
|
||||
table(impl::table_init_pair*, size_t) noexcept;
|
||||
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
|
||||
/// \brief A BidirectionalIterator for iterating over key-value pairs in a toml::table.
|
||||
@ -291,13 +297,13 @@ TOML_NAMESPACE_START
|
||||
#endif
|
||||
}
|
||||
|
||||
/// \name Type checks
|
||||
/// @{
|
||||
|
||||
[[nodiscard]] node_type type() const noexcept override;
|
||||
[[nodiscard]] bool is_table() const noexcept override;
|
||||
[[nodiscard]] bool is_array() 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, node*& first_nonmatch) 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>);
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \remarks Runtime-constructed tables (i.e. those not created during
|
||||
@ -362,6 +381,11 @@ TOML_NAMESPACE_START
|
||||
/// \param val The new value for 'inline'.
|
||||
void is_inline(bool val) noexcept;
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Node views
|
||||
/// @{
|
||||
|
||||
/// \brief Gets a node_view for the selected key-value pair.
|
||||
///
|
||||
/// \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.
|
||||
///
|
||||
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
///
|
||||
/// \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.
|
||||
@ -401,12 +427,12 @@ TOML_NAMESPACE_START
|
||||
/// <strong>This is not an error.</strong>
|
||||
///
|
||||
/// \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;
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \returns A view of the value at the given key if one existed, or an empty node view.
|
||||
@ -416,12 +442,15 @@ TOML_NAMESPACE_START
|
||||
/// <strong>This is not an error.</strong>
|
||||
///
|
||||
/// \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;
|
||||
|
||||
#endif // TOML_WINDOWS_COMPAT
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Table operations
|
||||
/// @{
|
||||
|
||||
/// \brief Returns an iterator to the first key-value pair.
|
||||
[[nodiscard]] iterator begin() noexcept;
|
||||
/// \brief Returns an iterator to the first key-value pair.
|
||||
@ -483,12 +512,12 @@ TOML_NAMESPACE_START
|
||||
/// \param key The key at which to insert the new value.
|
||||
/// \param val The new value to insert.
|
||||
///
|
||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
||||
/// \returns \conditional_return{Valid input}
|
||||
/// <ul>
|
||||
/// <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.
|
||||
/// </ul>
|
||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
||||
/// \conditional_return{Input is an empty toml::node_view}
|
||||
/// `{ end(), false }`
|
||||
///
|
||||
/// \attention The return value will always be `{ end(), false }` if the input value was an
|
||||
@ -628,12 +657,12 @@ TOML_NAMESPACE_START
|
||||
/// \param key The key at which to insert or assign the value.
|
||||
/// \param val The value to insert/assign.
|
||||
///
|
||||
/// \returns <strong><em>Valid input:</em></strong><br>
|
||||
/// \returns \conditional_return{Valid input}
|
||||
/// <ul>
|
||||
/// <li>An iterator to the value's position
|
||||
/// <li>`true` if the value was inserted, `false` if it was assigned.
|
||||
/// </ul>
|
||||
/// <strong><em>`val` is an empty toml::node_view:</em></strong><br>
|
||||
/// \conditional_return{Input is an empty toml::node_view}
|
||||
/// `{ end(), false }`
|
||||
///
|
||||
/// \attention The return value will always be `{ end(), false }` if the input value was
|
||||
@ -864,17 +893,65 @@ TOML_NAMESPACE_START
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \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;
|
||||
|
||||
#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:
|
||||
|
||||
/// \cond
|
||||
|
||||
template <typename Map, typename Key>
|
||||
[[nodiscard]]
|
||||
static auto do_get(Map& vals, const Key& key) noexcept
|
||||
@ -917,8 +994,13 @@ TOML_NAMESPACE_START
|
||||
return do_get(vals, key) != nullptr;
|
||||
}
|
||||
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
|
||||
/// \name Value retrieval
|
||||
/// @{
|
||||
|
||||
/// \brief Gets the node at a specific key.
|
||||
///
|
||||
/// \detail \cpp
|
||||
@ -953,66 +1035,26 @@ TOML_NAMESPACE_START
|
||||
/// \returns A pointer to the node at the specified key, or nullptr.
|
||||
[[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
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \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;
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \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;
|
||||
|
||||
/// \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
|
||||
|
||||
/// \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.
|
||||
///
|
||||
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
///
|
||||
/// \tparam ValueType One of the TOML node or value types.
|
||||
/// \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.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
template <typename ValueType>
|
||||
[[nodiscard]]
|
||||
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).
|
||||
///
|
||||
/// \availability This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
///
|
||||
/// \tparam ValueType One of the TOML node or value types.
|
||||
/// \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.
|
||||
///
|
||||
/// \attention This overload is only available when #TOML_WINDOWS_COMPAT is enabled.
|
||||
template <typename ValueType>
|
||||
[[nodiscard]]
|
||||
const impl::wrap_node<ValueType>* get_as(std::wstring_view key) const noexcept
|
||||
@ -1089,6 +1131,11 @@ TOML_NAMESPACE_START
|
||||
|
||||
#endif // TOML_WINDOWS_COMPAT
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Equality
|
||||
/// @{
|
||||
|
||||
/// \brief Equality operator.
|
||||
///
|
||||
/// \param lhs The LHS table.
|
||||
@ -1109,12 +1156,12 @@ TOML_NAMESPACE_START
|
||||
template <typename Char>
|
||||
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>&, const table&);
|
||||
// implemented in toml_default_formatter.h
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
||||
#ifndef DOXYGEN
|
||||
|
||||
|
||||
|
||||
//template <typename T>
|
||||
//inline std::vector<T> node::select_exact() const noexcept
|
||||
//{
|
||||
@ -1154,4 +1201,4 @@ TOML_NAMESPACE_START
|
||||
|
||||
#endif // !DOXYGEN
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
@ -352,5 +352,5 @@ TOML_NAMESPACE_START
|
||||
return !(lhs == rhs);
|
||||
}
|
||||
}
|
||||
TOML_NAMESPACE_END
|
||||
TOML_NAMESPACE_END;
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#pragma once
|
||||
#ifndef DOXYGEN
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
[[nodiscard]]
|
||||
@ -964,6 +964,5 @@ TOML_IMPL_NAMESPACE_START
|
||||
}
|
||||
};
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
|
||||
#endif // !DOXYGEN
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "toml_utf8.h"
|
||||
#include "toml_parse_error.h"
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <typename T>
|
||||
@ -162,7 +163,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
static_assert(std::is_trivial_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)
|
||||
|
||||
@ -376,6 +377,7 @@ TOML_IMPL_NAMESPACE_START
|
||||
#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
|
||||
|
||||
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
|
||||
|
@ -66,9 +66,10 @@
|
||||
TOML_SA_LIST_END
|
||||
#endif // !DOXYGEN
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||
|
||||
/// \cond
|
||||
TOML_IMPL_NAMESPACE_START
|
||||
{
|
||||
template <typename T, typename...>
|
||||
@ -161,7 +162,8 @@ TOML_IMPL_NAMESPACE_START
|
||||
return { static_cast<T>(val) };
|
||||
}
|
||||
}
|
||||
TOML_IMPL_NAMESPACE_END
|
||||
TOML_IMPL_NAMESPACE_END;
|
||||
/// \endcond
|
||||
|
||||
TOML_NAMESPACE_START
|
||||
{
|
||||
@ -187,6 +189,8 @@ TOML_NAMESPACE_START
|
||||
private:
|
||||
friend class TOML_PARSER_TYPENAME;
|
||||
|
||||
/// \cond
|
||||
|
||||
template <typename T, typename U>
|
||||
[[nodiscard]]
|
||||
TOML_ALWAYS_INLINE
|
||||
@ -214,6 +218,8 @@ TOML_NAMESPACE_START
|
||||
}
|
||||
#endif
|
||||
|
||||
/// \endcond
|
||||
|
||||
public:
|
||||
|
||||
/// \brief The value's underlying data type.
|
||||
@ -299,6 +305,9 @@ TOML_NAMESPACE_START
|
||||
}
|
||||
#endif
|
||||
|
||||
/// \name Type checks
|
||||
/// @{
|
||||
|
||||
/// \brief Returns the value's node type identifier.
|
||||
///
|
||||
/// \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_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]]
|
||||
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>;
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
/// \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.
|
||||
[[nodiscard]] value_type& get() & noexcept { return val_; }
|
||||
/// \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).
|
||||
[[nodiscard]] explicit operator const value_type& () const& noexcept { return val_; }
|
||||
|
||||
/// @}
|
||||
|
||||
/// \name Metadata
|
||||
/// @{
|
||||
|
||||
/// \brief Returns the metadata flags associated with this value.
|
||||
[[nodiscard]] value_flags flags() const noexcept
|
||||
{
|
||||
@ -419,6 +443,8 @@ TOML_NAMESPACE_START
|
||||
return *this;
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
/// \brief Prints the value out to a stream as formatted TOML.
|
||||
template <typename Char, typename T>
|
||||
friend std::basic_ostream<Char>& operator << (std::basic_ostream<Char>& lhs, const value<T>& rhs);
|
||||
@ -441,6 +467,9 @@ TOML_NAMESPACE_START
|
||||
return *this;
|
||||
}
|
||||
|
||||
/// \name Equality
|
||||
/// @{
|
||||
|
||||
/// \brief Value equality operator.
|
||||
[[nodiscard]]
|
||||
friend bool operator == (const value& lhs, value_arg rhs) noexcept
|
||||
@ -456,7 +485,7 @@ TOML_NAMESPACE_START
|
||||
}
|
||||
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.
|
||||
[[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 rhs The RHS toml::value.
|
||||
///
|
||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() < rhs.get()` <br>
|
||||
/// <strong><em>Different value types:</em></strong> `lhs.type() < rhs.type()`
|
||||
/// \returns \conditional_return{Same value types}
|
||||
/// `lhs.get() < rhs.get()`
|
||||
/// \conditional_return{Different value types}
|
||||
/// `lhs.type() < rhs.type()`
|
||||
template <typename T>
|
||||
[[nodiscard]]
|
||||
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 rhs The RHS toml::value.
|
||||
///
|
||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() <= rhs.get()` <br>
|
||||
/// <strong><em>Different value types:</em></strong> `lhs.type() <= rhs.type()`
|
||||
/// \returns \conditional_return{Same value types}
|
||||
/// `lhs.get() <= rhs.get()`
|
||||
/// \conditional_return{Different value types}
|
||||
/// `lhs.type() <= rhs.type()`
|
||||
template <typename T>
|
||||
[[nodiscard]]
|
||||
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 rhs The RHS toml::value.
|
||||
///
|
||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() > rhs.get()` <br>
|
||||
/// <strong><em>Different value types:</em></strong> `lhs.type() > rhs.type()`
|
||||
/// \returns \conditional_return{Same value types}
|
||||
/// `lhs.get() > rhs.get()`
|
||||
/// \conditional_return{Different value types}
|
||||
/// `lhs.type() > rhs.type()`
|
||||
template <typename T>
|
||||
[[nodiscard]]
|
||||
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 rhs The RHS toml::value.
|
||||
///
|
||||
/// \returns <strong><em>Same value types:</em></strong> `lhs.get() >= rhs.get()` <br>
|
||||
/// <strong><em>Different value types:</em></strong> `lhs.type() >= rhs.type()`
|
||||
/// \returns \conditional_return{Same value types}
|
||||
/// `lhs.get() >= rhs.get()`
|
||||
/// \conditional_return{Different value types}
|
||||
/// `lhs.type() >= rhs.type()`
|
||||
template <typename T>
|
||||
[[nodiscard]]
|
||||
friend bool operator >= (const value& lhs, const value<T>& rhs) noexcept
|
||||
@ -572,14 +609,17 @@ TOML_NAMESPACE_START
|
||||
else
|
||||
return impl::node_type_of<value_type> >= impl::node_type_of<T>;
|
||||
}
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
||||
/// \cond
|
||||
template <typename T>
|
||||
value(T) -> value<impl::native_type_of<impl::remove_cvref_t<T>>>;
|
||||
|
||||
#ifndef DOXYGEN
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_DISABLE_SWITCH_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
TOML_DISABLE_SWITCH_WARNINGS;
|
||||
|
||||
#if !TOML_HEADER_ONLY
|
||||
extern template class TOML_API value<std::string>;
|
||||
@ -924,9 +964,9 @@ TOML_NAMESPACE_START
|
||||
|
||||
#endif // !TOML_HEADER_ONLY
|
||||
|
||||
TOML_POP_WARNINGS // TOML_DISABLE_INIT_WARNINGS, TOML_DISABLE_SWITCH_WARNINGS
|
||||
#endif // !DOXYGEN
|
||||
TOML_POP_WARNINGS; // TOML_DISABLE_INIT_WARNINGS, TOML_DISABLE_SWITCH_WARNINGS
|
||||
/// \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_subproject = meson.is_subproject()
|
||||
has_exceptions = get_option('cpp_eh') != 'none'
|
||||
include_dirs = include_directories('include', 'extern')
|
||||
include_dirs = include_directories('include', 'external')
|
||||
overrides = []
|
||||
additional_arguments = []
|
||||
|
||||
@ -62,6 +62,8 @@ message(['has_exceptions', has_exceptions])
|
||||
if is_gcc or is_clang
|
||||
add_project_arguments(
|
||||
'-march=native',
|
||||
'-fvisibility=hidden',
|
||||
'-fvisibility-inlines-hidden',
|
||||
language : 'cpp'
|
||||
)
|
||||
if is_release
|
||||
@ -70,6 +72,7 @@ if is_gcc or is_clang
|
||||
'-ffunction-sections',
|
||||
'-Wl,--gc-sections',
|
||||
'-Wl,-s',
|
||||
'-mfma',
|
||||
language : 'cpp'
|
||||
)
|
||||
endif
|
||||
@ -483,8 +486,8 @@ endif
|
||||
|
||||
build_tests = get_option('build_tests') and not is_subproject
|
||||
if build_tests
|
||||
run_command('git', 'submodule', 'update', '--init', 'extern/Catch2')
|
||||
run_command('git', 'submodule', 'update', '--init', 'extern/tloptional')
|
||||
run_command('git', 'submodule', 'update', '--init', '--depth', '1', 'external/Catch2')
|
||||
run_command('git', 'submodule', 'update', '--init', '--depth', '1', 'external/tloptional')
|
||||
subdir('tests')
|
||||
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>)
|
||||
#include <Catch2/single_include/catch2/catch.hpp>
|
||||
#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
|
||||
|
||||
#ifdef __clang__
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "tests.h"
|
||||
using namespace toml::impl;
|
||||
|
||||
TOML_DISABLE_WARNINGS // unused variable spam
|
||||
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -121,7 +121,7 @@ answer = 42)"sv;
|
||||
])"sv;
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TEST_CASE("conformance - burntsushi/invalid")
|
||||
{
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "tests.h"
|
||||
using namespace toml::impl;
|
||||
|
||||
TOML_DISABLE_WARNINGS // unused variable spam
|
||||
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -261,7 +261,7 @@ answer8 = "\U000003B4")"sv;
|
||||
#endif // UNICODE_LITERALS_OK
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TEST_CASE("conformance - burntsushi/valid")
|
||||
{
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "tests.h"
|
||||
using namespace toml::impl;
|
||||
|
||||
TOML_DISABLE_WARNINGS // unused variable spam
|
||||
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -131,7 +131,7 @@ fruit = []
|
||||
color = "green")"sv;
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TEST_CASE("conformance - iarna/invalid")
|
||||
{
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "tests.h"
|
||||
using namespace toml::impl;
|
||||
|
||||
TOML_DISABLE_WARNINGS // unused variable spam
|
||||
TOML_DISABLE_WARNINGS; // unused variable spam
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -265,7 +265,7 @@ smooth = true)"sv;
|
||||
static constexpr auto spec_time_1 = R"(lt1 = 07:32:00)"sv;
|
||||
}
|
||||
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
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"
|
||||
|
||||
#ifdef _WIN32
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <windows.h>
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
#endif
|
||||
|
||||
TOML_DISABLE_SPAM_WARNINGS
|
||||
TOML_DISABLE_SPAM_WARNINGS;
|
||||
|
||||
template <typename T>
|
||||
static constexpr T one = static_cast<T>(1);
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
#include "tests.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
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 1"sv);
|
||||
}
|
||||
|
||||
TOML_POP_WARNINGS
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
#include "tests.h"
|
||||
|
||||
TOML_PUSH_WARNINGS
|
||||
TOML_DISABLE_INIT_WARNINGS
|
||||
TOML_PUSH_WARNINGS;
|
||||
TOML_DISABLE_INIT_WARNINGS;
|
||||
|
||||
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
|
||||
#endif
|
||||
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS
|
||||
TOML_DISABLE_ARITHMETIC_WARNINGS;
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include "catch2.h"
|
||||
#include <sstream>
|
||||
namespace toml {}
|
||||
using namespace Catch::literals;
|
||||
using namespace toml;
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
#define FILE_LINE_ARGS std::string_view{ __FILE__ }, __LINE__
|
||||
#define BOM_PREFIX "\xEF\xBB\xBF"
|
||||
|
@ -19,7 +19,7 @@
|
||||
#if __has_include(<tloptional/include/tl/optional.hpp>)
|
||||
#include <tloptional/include/tl/optional.hpp>
|
||||
#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
|
||||
|
||||
#ifdef __clang__
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include "tests.h"
|
||||
|
||||
TOML_DISABLE_WARNINGS
|
||||
TOML_DISABLE_WARNINGS;
|
||||
#include <algorithm>
|
||||
TOML_ENABLE_WARNINGS
|
||||
TOML_ENABLE_WARNINGS;
|
||||
|
||||
TEST_CASE("using iterators")
|
||||
{
|
||||
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
@ -30,7 +30,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
|
||||
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<Import Project="../toml++.props" />
|
||||
<Import Project="../../toml++.props" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\tests;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@ -47,53 +47,54 @@
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup>
|
||||
<LocalDebuggerWorkingDirectory>..\..\tests\</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\</LocalDebuggerWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\..\tests\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\..\tests\impl_catch2.cpp">
|
||||
<ClCompile Include="..\conformance_burntsushi_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_burntsushi_valid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_invalid.cpp" />
|
||||
<ClCompile Include="..\conformance_iarna_valid.cpp" />
|
||||
<ClCompile Include="..\impl_catch2.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\impl_toml.cpp">
|
||||
<ClCompile Include="..\impl_toml.cpp">
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\..\tests\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\..\tests\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\..\tests\tests.cpp">
|
||||
<ClCompile Include="..\manipulating_arrays.cpp" />
|
||||
<ClCompile Include="..\manipulating_tables.cpp" />
|
||||
<ClCompile Include="..\manipulating_parse_result.cpp" />
|
||||
<ClCompile Include="..\manipulating_values.cpp" />
|
||||
<ClCompile Include="..\parsing_arrays.cpp" />
|
||||
<ClCompile Include="..\parsing_booleans.cpp" />
|
||||
<ClCompile Include="..\parsing_comments.cpp" />
|
||||
<ClCompile Include="..\parsing_dates_and_times.cpp" />
|
||||
<ClCompile Include="..\parsing_floats.cpp" />
|
||||
<ClCompile Include="..\parsing_integers.cpp" />
|
||||
<ClCompile Include="..\parsing_key_value_pairs.cpp" />
|
||||
<ClCompile Include="..\parsing_spec_example.cpp" />
|
||||
<ClCompile Include="..\parsing_strings.cpp" />
|
||||
<ClCompile Include="..\parsing_tables.cpp" />
|
||||
<ClCompile Include="..\tests.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tests\unicode.cpp" />
|
||||
<ClCompile Include="..\..\tests\user_feedback.cpp" />
|
||||
<ClCompile Include="..\..\tests\using_iterators.cpp" />
|
||||
<ClCompile Include="..\..\tests\windows_compat.cpp" />
|
||||
<ClCompile Include="..\unicode.cpp" />
|
||||
<ClCompile Include="..\user_feedback.cpp" />
|
||||
<ClCompile Include="..\using_iterators.cpp" />
|
||||
<ClCompile Include="..\windows_compat.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="..\toml++.natvis" />
|
||||
<Natvis Include="..\..\toml++.natvis" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tests\catch2.h" />
|
||||
<ClInclude Include="..\..\tests\leakproof.h" />
|
||||
<ClInclude Include="..\..\tests\settings.h" />
|
||||
<ClInclude Include="..\..\tests\tests.h" />
|
||||
<ClInclude Include="..\..\tests\tloptional.h" />
|
||||
<ClInclude Include="..\catch2.h" />
|
||||
<ClInclude Include="..\leakproof.h" />
|
||||
<ClInclude Include="..\settings.h" />
|
||||
<ClInclude Include="..\tests.h" />
|
||||
<ClInclude Include="..\tloptional.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\tests\meson.build" />
|
||||
<None Include="..\cpp.hint" />
|
||||
<None Include="..\meson.build" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|