summaryrefslogtreecommitdiffhomepage
path: root/vendor/toml++/impl/parser.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-08 15:50:45 +0100
committerGitHub <noreply@github.com>2026-03-08 15:50:45 +0100
commit386b6ba6702aaf121a8667b68fba86385dad68ed (patch)
tree985c7eda4fafa827eaad88b6b469b0baba791817 /vendor/toml++/impl/parser.hpp
parent7a469801ecb55fcde0199d4e41b1cec3a17dcb05 (diff)
parentddb1cbc831b6d13b985d91022f01e955e24ae871 (diff)
Merge pull request #25 from ne-foss-org/nebuild-patches-deref
[CHORE] Patching TOML manifest parser to avoid null deref.
Diffstat (limited to 'vendor/toml++/impl/parser.hpp')
-rw-r--r--vendor/toml++/impl/parser.hpp696
1 files changed, 346 insertions, 350 deletions
diff --git a/vendor/toml++/impl/parser.hpp b/vendor/toml++/impl/parser.hpp
index c794c5e..281efbc 100644
--- a/vendor/toml++/impl/parser.hpp
+++ b/vendor/toml++/impl/parser.hpp
@@ -1,390 +1,386 @@
-//# 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
+// # 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
#pragma once
#include "preprocessor.hpp"
#if TOML_ENABLE_PARSER
-#include "table.hpp"
-#include "parse_result.hpp"
#include "header_start.hpp"
+#include "parse_result.hpp"
+#include "table.hpp"
-TOML_NAMESPACE_START
-{
- TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex);
+TOML_NAMESPACE_START {
+ TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, ex, noex);
- /// \brief Parses a TOML document from a string view.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse("a = 3"sv);
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::string_view doc, std::string_view source_path = {});
+ /// \brief Parses a TOML document from a string view.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse("a = 3"sv);
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::string_view doc, std::string_view source_path = {});
- /// \brief Parses a TOML document from a string view.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse("a = 3"sv, "foo.toml");
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::string_view doc, std::string && source_path);
+ /// \brief Parses a TOML document from a string view.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse("a = 3"sv, "foo.toml");
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::string_view doc, std::string && source_path);
- /// \brief Parses a TOML document from a file.
- ///
- /// \detail \cpp
- /// toml::parse_result get_foo_toml()
- /// {
- /// return toml::parse_file("foo.toml");
- /// }
- /// \ecpp
- ///
- /// \param file_path The TOML document to parse. Must be valid UTF-8.
- ///
- /// \returns \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse_file(std::string_view file_path);
+ /// \brief Parses a TOML document from a file.
+ ///
+ /// \detail \cpp
+ /// toml::parse_result get_foo_toml()
+ /// {
+ /// return toml::parse_file("foo.toml");
+ /// }
+ /// \ecpp
+ ///
+ /// \param file_path The TOML document to parse. Must be valid UTF-8.
+ ///
+ /// \returns \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse_file(std::string_view file_path);
#if TOML_HAS_CHAR8
- /// \brief Parses a TOML document from a char8_t string view.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse(u8"a = 3"sv);
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::u8string_view doc, std::string_view source_path = {});
+ /// \brief Parses a TOML document from a char8_t string view.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse(u8"a = 3"sv);
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::u8string_view doc, std::string_view source_path = {});
- /// \brief Parses a TOML document from a char8_t string view.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::u8string_view doc, std::string && source_path);
+ /// \brief Parses a TOML document from a char8_t string view.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::u8string_view doc, std::string && source_path);
- /// \brief Parses a TOML document from a file.
- ///
- /// \detail \cpp
- /// toml::parse_result get_foo_toml()
- /// {
- /// return toml::parse_file(u8"foo.toml");
- /// }
- /// \ecpp
- ///
- /// \param file_path The TOML document to parse. Must be valid UTF-8.
- ///
- /// \returns \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse_file(std::u8string_view file_path);
+ /// \brief Parses a TOML document from a file.
+ ///
+ /// \detail \cpp
+ /// toml::parse_result get_foo_toml()
+ /// {
+ /// return toml::parse_file(u8"foo.toml");
+ /// }
+ /// \ecpp
+ ///
+ /// \param file_path The TOML document to parse. Must be valid UTF-8.
+ ///
+ /// \returns \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse_file(std::u8string_view file_path);
-#endif // TOML_HAS_CHAR8
+#endif // TOML_HAS_CHAR8
#if TOML_ENABLE_WINDOWS_COMPAT
- /// \brief Parses a TOML document from a string view.
- ///
- /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse("a = 3"sv, L"foo.toml");
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::string_view doc, std::wstring_view source_path);
+ /// \brief Parses a TOML document from a string view.
+ ///
+ /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse("a = 3"sv, L"foo.toml");
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::string_view doc, std::wstring_view source_path);
- /// \brief Parses a TOML document from a stream.
- ///
- /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
- ///
- /// \detail \cpp
- /// std::stringstream ss;
- /// ss << "a = 3"sv;
- ///
- /// auto tbl = toml::parse(ss);
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::istream & doc, std::wstring_view source_path);
+ /// \brief Parses a TOML document from a stream.
+ ///
+ /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
+ ///
+ /// \detail \cpp
+ /// std::stringstream ss;
+ /// ss << "a = 3"sv;
+ ///
+ /// auto tbl = toml::parse(ss);
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::istream & doc, std::wstring_view source_path);
- /// \brief Parses a TOML document from a file.
- ///
- /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
- ///
- /// \detail \cpp
- /// toml::parse_result get_foo_toml()
- /// {
- /// return toml::parse_file(L"foo.toml");
- /// }
- /// \ecpp
- ///
- /// \param file_path The TOML document to parse. Must be valid UTF-8.
- ///
- /// \returns \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse_file(std::wstring_view file_path);
+ /// \brief Parses a TOML document from a file.
+ ///
+ /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
+ ///
+ /// \detail \cpp
+ /// toml::parse_result get_foo_toml()
+ /// {
+ /// return toml::parse_file(L"foo.toml");
+ /// }
+ /// \ecpp
+ ///
+ /// \param file_path The TOML document to parse. Must be valid UTF-8.
+ ///
+ /// \returns \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse_file(std::wstring_view file_path);
-#endif // TOML_ENABLE_WINDOWS_COMPAT
+#endif // TOML_ENABLE_WINDOWS_COMPAT
#if TOML_HAS_CHAR8 && TOML_ENABLE_WINDOWS_COMPAT
- /// \brief Parses a TOML document from a char8_t string view.
- ///
- /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
- ///
- /// \detail \cpp
- /// auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::u8string_view doc, std::wstring_view source_path);
+ /// \brief Parses a TOML document from a char8_t string view.
+ ///
+ /// \availability This overload is only available when #TOML_ENABLE_WINDOWS_COMPAT is enabled.
+ ///
+ /// \detail \cpp
+ /// auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::u8string_view doc, std::wstring_view source_path);
-#endif // TOML_HAS_CHAR8 && TOML_ENABLE_WINDOWS_COMPAT
+#endif // TOML_HAS_CHAR8 && TOML_ENABLE_WINDOWS_COMPAT
- /// \brief Parses a TOML document from a stream.
- ///
- /// \detail \cpp
- /// std::stringstream ss;
- /// ss << "a = 3"sv;
- ///
- /// auto tbl = toml::parse(ss);
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::istream & doc, std::string_view source_path = {});
+ /// \brief Parses a TOML document from a stream.
+ ///
+ /// \detail \cpp
+ /// std::stringstream ss;
+ /// ss << "a = 3"sv;
+ ///
+ /// auto tbl = toml::parse(ss);
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::istream & doc, std::string_view source_path = {});
- /// \brief Parses a TOML document from a stream.
- ///
- /// \detail \cpp
- /// std::stringstream ss;
- /// ss << "a = 3"sv;
- ///
- /// auto tbl = toml::parse(ss, "foo.toml");
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \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 \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_EXPORTED_FREE_FUNCTION
- parse_result TOML_CALLCONV parse(std::istream & doc, std::string && source_path);
+ /// \brief Parses a TOML document from a stream.
+ ///
+ /// \detail \cpp
+ /// std::stringstream ss;
+ /// ss << "a = 3"sv;
+ ///
+ /// auto tbl = toml::parse(ss, "foo.toml");
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \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 \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_EXPORTED_FREE_FUNCTION
+ parse_result TOML_CALLCONV parse(std::istream & doc, std::string && source_path);
- TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
+ TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
- inline namespace literals
- {
- TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, lit_ex, lit_noex);
+ inline namespace literals {
+ TOML_ABI_NAMESPACE_BOOL(TOML_EXCEPTIONS, lit_ex, lit_noex);
- /// \brief Parses TOML data from a string literal.
- ///
- /// \detail \cpp
- /// using namespace toml::literals;
- ///
- /// auto tbl = "a = 3"_toml;
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \param str The string data. Must be valid UTF-8.
- /// \param len The string length.
- ///
- /// \returns \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_ALWAYS_INLINE
- parse_result operator"" _toml(const char* str, size_t len)
- {
- return parse(std::string_view{ str, len });
- }
+ /// \brief Parses TOML data from a string literal.
+ ///
+ /// \detail \cpp
+ /// using namespace toml::literals;
+ ///
+ /// auto tbl = "a = 3"_toml;
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \param str The string data. Must be valid UTF-8.
+ /// \param len The string length.
+ ///
+ /// \returns \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_ALWAYS_INLINE
+ parse_result operator"" _toml(const char* str, size_t len) {
+ return parse(std::string_view{str, len});
+ }
#if TOML_HAS_CHAR8
- /// \brief Parses TOML data from a UTF-8 string literal.
- ///
- /// \detail \cpp
- /// using namespace toml::literals;
- ///
- /// auto tbl = u8"a = 3"_toml;
- /// std::cout << tbl["a"] << "\n";
- /// \ecpp
- ///
- /// \out
- /// 3
- /// \eout
- ///
- /// \param str The string data. Must be valid UTF-8.
- /// \param len The string length.
- ///
- /// \returns \conditional_return{With exceptions}
- /// A toml::table.
- /// \conditional_return{Without exceptions}
- /// A toml::parse_result.
- TOML_NODISCARD
- TOML_ALWAYS_INLINE
- parse_result operator"" _toml(const char8_t* str, size_t len)
- {
- return parse(std::u8string_view{ str, len });
- }
+ /// \brief Parses TOML data from a UTF-8 string literal.
+ ///
+ /// \detail \cpp
+ /// using namespace toml::literals;
+ ///
+ /// auto tbl = u8"a = 3"_toml;
+ /// std::cout << tbl["a"] << "\n";
+ /// \ecpp
+ ///
+ /// \out
+ /// 3
+ /// \eout
+ ///
+ /// \param str The string data. Must be valid UTF-8.
+ /// \param len The string length.
+ ///
+ /// \returns \conditional_return{With exceptions}
+ /// A toml::table.
+ /// \conditional_return{Without exceptions}
+ /// A toml::parse_result.
+ TOML_NODISCARD
+ TOML_ALWAYS_INLINE
+ parse_result operator"" _toml(const char8_t* str, size_t len) {
+ return parse(std::u8string_view{str, len});
+ }
-#endif // TOML_HAS_CHAR8
+#endif // TOML_HAS_CHAR8
- TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
- }
+ TOML_ABI_NAMESPACE_END; // TOML_EXCEPTIONS
+ } // namespace literals
}
TOML_NAMESPACE_END;
#include "header_end.hpp"
-#endif // TOML_ENABLE_PARSER
+#endif // TOML_ENABLE_PARSER