class final
tableA TOML table.
Base classes
- class node
- A TOML node.
Public types
-
using const_iterator = const_
table_ iterator - A BidirectionalIterator for iterating over const key-value pairs in a toml::
table. -
using iterator = table_
iterator - A BidirectionalIterator for iterating over key-value pairs in a toml::
table.
Constructors, destructors, conversion operators
- table() noexcept
- Default constructor.
- table(const table&) noexcept
- Copy constructor.
- table(table&& other) noexcept
- Move constructor.
-
template <size_t N>table(impl::table_init_pair( && arr)[N]) explicit noexcept
- Constructs a table with one or more initial key-value pairs.
- ~table() override noexcept
- Destructor.
Public functions
Equality
- auto operator!=(const table& lhs, const table& rhs) → bool noexcept
- Inequality operator.
-
template <typename Char>auto operator<<(std::
basic_ostream<Char>&, const table&) → std:: basic_ostream<Char>& - Prints the table out to a stream as formatted TOML.
- auto operator==(const table& lhs, const table& rhs) → bool noexcept
- Equality operator.
Metadata
- auto is_inline() const → bool noexcept
- Returns true if this table is an inline table.
- void is_inline(bool val) noexcept
- Sets whether this table is a TOML inline table.
-
auto source() const → const source_
region& noexcept - Returns the source region responsible for generating this node during parsing.
Node views
- operator node_view<const node>() const explicit noexcept
- Creates a node_
view pointing to this node (const overload). - operator node_view<node>() explicit noexcept
- Creates a node_
view pointing to this node. -
auto operator[](std::
string_view key) → node_ view<node> noexcept - Gets a node_
view for the selected key-value pair. -
auto operator[](std::
string_view key) const → node_ view<const node> noexcept - Gets a node_
view for the selected key-value pair (const overload). -
auto operator[](std::
wstring_view key) → node_ view<node> noexcept - Gets a node_
view for the selected key-value pair. -
auto operator[](std::
wstring_view key) const → node_ view<const node> noexcept - Gets a node_
view for the selected key-value pair (const overload).
Table operations
- auto begin() → iterator noexcept
- Returns an iterator to the first key-value pair.
-
auto begin() const → const_
iterator noexcept - Returns an iterator to the first key-value pair.
-
auto cbegin() const → const_
iterator noexcept - Returns an iterator to the first key-value pair.
-
auto cend() const → const_
iterator noexcept - Returns an iterator to one-past-the-last key-value pair.
- void clear() noexcept
- Removes all key-value pairs from the table.
-
auto contains(std::
string_view key) const → bool noexcept - Returns true if the table contains a node at the given key.
-
auto contains(std::
wstring_view key) const → bool noexcept - Returns true if the table contains a node at the given key.
-
template <typename ValueType, typename KeyType, typename... ValueArgs>auto emplace(KeyType&& key, ValueArgs && ... args) → std::
pair<iterator, bool> noexcept - Emplaces a new value at a specific key if one did not already exist.
- auto empty() const → bool noexcept
- Returns true if the table is empty.
- auto end() → iterator noexcept
- Returns an iterator to one-past-the-last key-value pair.
-
auto end() const → const_
iterator noexcept - Returns an iterator to one-past-the-last key-value pair.
- auto erase(iterator pos) → iterator noexcept
- Removes the specified key-value pair from the table.
-
auto erase(const_
iterator pos) → iterator noexcept - Removes the specified key-value pair from the table (const iterator overload).
-
auto erase(const_
iterator first, const_ iterator last) → iterator noexcept - Removes the key-value pairs in the range [first, last) from the table.
-
auto erase(std::
string_view key) → bool noexcept - Removes the value with the given key from the table.
-
auto erase(std::
wstring_view key) → bool noexcept - Removes the value with the given key from the table.
-
auto find(std::
string_view key) → iterator noexcept - Gets an iterator to the node at a specific key.
-
auto find(std::
string_view key) const → const_ iterator noexcept - Gets an iterator to the node at a specific key (const overload)
-
auto find(std::
wstring_view key) → iterator noexcept - Gets an iterator to the node at a specific key.
-
auto find(std::
wstring_view key) const → const_ iterator noexcept - Gets an iterator to the node at a specific key (const overload).
-
template <typename KeyType, typename ValueType, typename = std::auto insert(KeyType&& key, ValueType&& val) → std::
enable_if_t< std:: is_convertible_v<KeyType && , std:: string_view> || impl::is_wide_string<KeyType> >> pair<iterator, bool> noexcept - Inserts a new value at a specific key if one did not already exist.
-
template <typename Iter, typename = std::void insert(Iter first, Iter last) noexcept
enable_if_t< !std:: is_convertible_v<Iter, std:: string_view> && !impl::is_wide_string<Iter> >> - Inserts a series of key-value pairs into the table.
-
template <typename KeyType, typename ValueType>auto insert_or_assign(KeyType&& key, ValueType&& val) → std::
pair<iterator, bool> noexcept - Inserts or assigns a value at a specific key.
- auto size() const → size_t noexcept
- Returns the number of key-value pairs in the table.
Type casts
-
template <typename T>auto as() → impl::wrap_node<T>* noexcept
- Gets a pointer to the node as a more specific node type.
-
template <typename T>auto as() const → const impl::wrap_node<T>* noexcept
- Gets a pointer to the node as a more specific node type (const overload).
- auto as_array() → array* virtual noexcept
- Returns a pointer to the node as a toml::
array, if it is one. -
auto as_boolean() → toml::
value<bool>* virtual noexcept - Returns a pointer to the node as a toml::value<bool>, if it is one.
-
auto as_date() → toml::
value<date>* virtual noexcept - Returns a pointer to the node as a toml::value<date>, if it is one.
-
auto as_date_time() → toml::
value<date_ time>* virtual noexcept - Returns a pointer to the node as a toml::value<date_time>, if it is one.
-
auto as_floating_point() → toml::
value<double>* virtual noexcept - Returns a pointer to the node as a toml::value<double>, if it is one.
-
auto as_integer() → toml::
value<int64_t>* virtual noexcept - Returns a pointer to the node as a toml::value<int64_t>, if it is one.
-
auto as_string() → toml::
value<std:: string>* virtual noexcept - Returns a pointer to the node as a toml::value<string>, if it is one.
- auto as_table() → table* override noexcept
- Returns a pointer to the node as a toml::
table, if it is one. -
auto as_time() → toml::
value<time>* virtual noexcept - Returns a pointer to the node as a toml::value<time>, if it is one.
Type checks
-
template <typename T>auto is() const → bool noexcept
- Checks if a node is a specific type.
- auto is_array() const → bool override noexcept
- Returns true if this node is an array.
- auto is_array_of_tables() const → bool virtual noexcept
- Returns true if this node is an array containing only tables.
- auto is_boolean() const → bool virtual noexcept
- Returns true if this node is a boolean value.
- auto is_date() const → bool virtual noexcept
- Returns true if this node is a local date value.
- auto is_date_time() const → bool virtual noexcept
- Returns true if this node is a date-time value.
- auto is_floating_point() const → bool virtual noexcept
- Returns true if this node is an floating-point value.
-
auto is_homogeneous(node_
type ntype) const → bool override noexcept - Checks if the node contains values/elements of only one type.
-
auto is_homogeneous(node_
type ntype, node*& first_nonmatch) → bool override noexcept - Checks if a node contains values/elements of only one type.
-
auto is_homogeneous(node_
type ntype, const node*& first_nonmatch) const → bool override noexcept - Checks if a node contains values/elements of only one type (const overload).
- auto is_integer() const → bool virtual noexcept
- Returns true if this node is an integer value.
- auto is_number() const → bool virtual noexcept
- Returns true if this node is an integer or floating-point value.
- auto is_string() const → bool virtual noexcept
- Returns true if this node is a string value.
- auto is_table() const → bool override noexcept
- Returns true if this node is a table.
- auto is_time() const → bool virtual noexcept
- Returns true if this node is a local time value.
- auto is_value() const → bool override noexcept
- Returns true if this node is a value.
-
auto type() const → node_
type override noexcept - Returns the node's type identifier.
Value retrieval
-
auto get(std::
string_view key) → node* noexcept - Gets the node at a specific key.
-
auto get(std::
string_view key) const → const node* noexcept - Gets the node at a specific key (const overload).
-
auto get(std::
wstring_view key) → node* noexcept - Gets the node at a specific key.
-
auto get(std::
wstring_view key) const → const node* noexcept - Gets the node at a specific key (const overload).
-
template <typename ValueType>auto get_as(std::
string_view key) → impl::wrap_node<ValueType>* noexcept - Gets the node at a specific key if it is a particular type.
-
template <typename ValueType>auto get_as(std::
string_view key) const → const impl::wrap_node<ValueType>* noexcept - Gets the node at a specific key if it is a particular type (const overload).
-
template <typename ValueType>auto get_as(std::
wstring_view key) → impl::wrap_node<ValueType>* noexcept - Gets the node at a specific key if it is a particular type.
-
template <typename ValueType>auto get_as(std::
wstring_view key) const → const impl::wrap_node<ValueType>* noexcept - Gets the node at a specific key if it is a particular type (const overload).
-
template <typename T>auto ref() & → impl::unwrap_node<T>& noexcept
- Gets a raw reference to a value node's underlying data.
-
template <typename T>auto ref() && → impl::unwrap_node<T>&& noexcept
- Gets a raw reference to a value node's underlying data (rvalue overload).
-
template <typename T>auto ref() const & → const impl::unwrap_node<T>& noexcept
- Gets a raw reference to a value node's underlying data (const lvalue overload).
-
template <typename T>auto value() const → optional<T> noexcept
- Gets the value contained by this node.
-
template <typename T>auto value_exact() const → optional<T> noexcept
- Gets the value contained by this node.
-
template <typename T>auto value_or(T&& default_value) const → auto noexcept
- Gets the raw value contained by this node, or a default.
Visitation
-
template <typename Func>auto visit(Func&& visitor) & → decltype(auto) noexcept(…)
- Invokes a visitor on the node based on the node's concrete type.
-
template <typename Func>auto visit(Func&& visitor) && → decltype(auto) noexcept(…)
- Invokes a visitor on the node based on the node's concrete type (rvalue overload).
-
template <typename Func>auto visit(Func&& visitor) const & → decltype(auto) noexcept(…)
- Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
Function documentation
template <size_t N>
toml:: table:: table(impl::table_init_pair( && arr)[N]) explicit noexcept
Constructs a table with one or more initial key-value pairs.
Template parameters | |
---|---|
N | Number of key-value pairs used to initialize the table. |
Parameters | |
arr | An array of key-value pairs used to initialize the table. |
auto tbl = toml::table{{ // double braces required :( - see remark { "foo", 1 }, { "bar", 2.0 }, { "kek", "three" } }}; std::cout << tbl << "\n";
{ foo = 1, bar = 2.0, kek = "three" }
bool toml:: table:: operator!=(const table& lhs,
const table& rhs) noexcept
Inequality operator.
Parameters | |
---|---|
lhs | The LHS table. |
rhs | The RHS table. |
Returns | True if the tables did not contain the same keys and map. |
bool toml:: table:: operator==(const table& lhs,
const table& rhs) noexcept
Equality operator.
Parameters | |
---|---|
lhs | The LHS table. |
rhs | The RHS table. |
Returns | True if the tables contained the same keys and map. |
bool toml:: table:: is_inline() const noexcept
Returns true if this table is an inline table.
void toml:: table:: is_inline(bool val) noexcept
Sets whether this table is a TOML inline table.
Parameters | |
---|---|
val | The new value for 'inline'. |
Try this code on Compiler Explorer
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 }, { "d", toml::table{{ { "e", 4 } }} } }}; std::cout << "is inline? "sv << tbl.is_inline() << "\n"; std::cout << tbl << "\n\n"; tbl.is_inline(!tbl.is_inline()); std::cout << "is inline? "sv << tbl.is_inline() << "\n"; std::cout << tbl << "\n";
is inline? false a = 1 b = 2 c = 3 [d] e = 4 is inline? true { a = 1, b = 2, c = 3, d = { e = 4 } }
node_ view<node> toml:: table:: operator[](std:: string_view key) noexcept
Gets a node_
Parameters | |
---|---|
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. |
node_ view<const node> toml:: table:: operator[](std:: string_view key) const noexcept
Gets a node_
Parameters | |
---|---|
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. |
node_ view<node> toml:: table:: operator[](std:: wstring_view key) noexcept
Gets a node_
Parameters | |
---|---|
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. |
node_ view<const node> toml:: table:: operator[](std:: wstring_view key) const noexcept
Gets a node_
Parameters | |
---|---|
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. |
bool toml:: table:: contains(std:: wstring_view key) const noexcept
Returns true if the table contains a node at the given key.
template <typename ValueType, typename KeyType, typename... ValueArgs>
std:: pair<iterator, bool> toml:: table:: emplace(KeyType&& key,
ValueArgs && ... args) noexcept
Emplaces a new value at a specific key if one did not already exist.
Template parameters | |
---|---|
ValueType | toml:: |
KeyType | std:: |
ValueArgs | Value constructor argument types. |
Parameters | |
key | The key at which to emplace the new value. |
args | Arguments to forward to the value's constructor. |
Returns | A std::
|
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; for (auto k : { "a", "d" }) { // add a string using std::string's substring constructor auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5); std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n"; } std::cout << tbl << "\n";
{ a = 1, b = 2, c = 3 } emplaced with key 'a': false emplaced with key 'd': true { a = 1, b = 2, c = 3, d = "drill" }
iterator toml:: table:: erase(iterator pos) noexcept
Removes the specified key-value pair from the table.
Parameters | |
---|---|
pos | Iterator to the key-value pair being erased. |
Returns | Iterator to the first key-value pair immediately following the removed key-value pair. |
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; tbl.erase(tbl.begin() + 1); std::cout << tbl << "\n";
{ a = 1, b = 2, c = 3 } { a = 1, c = 3 }
iterator toml:: table:: erase(const_ iterator pos) noexcept
Removes the specified key-value pair from the table (const iterator overload).
Parameters | |
---|---|
pos | Iterator to the key-value pair being erased. |
Returns | Iterator to the first key-value pair immediately following the removed key-value pair. |
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; tbl.erase(tbl.cbegin() + 1); std::cout << tbl << "\n";
{ a = 1, b = 2, c = 3 } { a = 1, c = 3 }
iterator toml:: table:: erase(const_ iterator first,
const_ iterator last) noexcept
Removes the key-value pairs in the range [first, last) from the table.
Parameters | |
---|---|
first | Iterator to the first key-value pair being erased. |
last | Iterator to the one-past-the-last key-value pair being erased. |
Returns | Iterator to the first key-value pair immediately following the last removed key-value pair. |
auto tbl = toml::table{{ { "a", 1 }, { "b", "bad" }, { "c", "karma" }, { "d", 2 } }}; std::cout << tbl << "\n"; tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3); std::cout << tbl << "\n";
{ a = 1, b = "bad", c = "karma", d = 2 } { a = 1, d = 2 }
bool toml:: table:: erase(std:: string_view key) noexcept
Removes the value with the given key from the table.
Parameters | |
---|---|
key | Key to erase. |
Returns | True if any values with matching keys were found and erased. |
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; std::cout << tbl.erase("b") << "\n"; std::cout << tbl.erase("not an existing key") << "\n"; std::cout << tbl << "\n";
{ a = 1, b = 2, c = 3 } true false { a = 1, c = 3 }
bool toml:: table:: erase(std:: wstring_view key) noexcept
Removes the value with the given key from the table.
Parameters | |
---|---|
key | Key to erase. |
Returns | True if any values with matching keys were found and erased. |
iterator toml:: table:: find(std:: string_view key) noexcept
Gets an iterator to the node at a specific key.
Parameters | |
---|---|
key | The node's key. |
Returns | An iterator to the node at the specified key, or end(). |
const_ iterator toml:: table:: find(std:: string_view key) const noexcept
Gets an iterator to the node at a specific key (const overload)
Parameters | |
---|---|
key | The node's key. |
Returns | A const iterator to the node at the specified key, or cend(). |
iterator toml:: table:: find(std:: wstring_view key) noexcept
Gets an iterator to the node at a specific key.
Parameters | |
---|---|
key | The node's key. |
Returns | An iterator to the node at the specified key, or end(). |
const_ iterator toml:: table:: find(std:: wstring_view key) const noexcept
Gets an iterator to the node at a specific key (const overload).
Parameters | |
---|---|
key | The node's key. |
Returns | A const iterator to the node at the specified key, or cend(). |
template <typename KeyType, typename ValueType, typename = std:: enable_if_t< std:: is_convertible_v<KeyType && , std:: string_view> || impl::is_wide_string<KeyType> >>
std:: pair<iterator, bool> toml:: table:: insert(KeyType&& key,
ValueType&& val) noexcept
Inserts a new value at a specific key if one did not already exist.
Template parameters | |
---|---|
KeyType | std:: |
ValueType | toml:: |
Parameters | |
key | The key at which to insert the new value. |
val | The new value to insert. |
Returns | Valid input:
Input is an empty toml:: |
Try this code on Compiler Explorer
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; for (auto k : { "a", "d" }) { auto result = tbl.insert(k, 42); std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; } std::cout << tbl << "\n";
a = 1 b = 2 c = 3 inserted with key 'a': false inserted with key 'd': true a = 1 b = 2 c = 3 d = 42
template <typename Iter, typename = std:: enable_if_t< !std:: is_convertible_v<Iter, std:: string_view> && !impl::is_wide_string<Iter> >>
void toml:: table:: insert(Iter first,
Iter last) noexcept
Inserts a series of key-value pairs into the table.
Template parameters | |
---|---|
Iter | An InputIterator to a collection of key-value pairs. |
Parameters | |
first | An iterator to the first value in the input collection. |
last | An iterator to one-past-the-last value in the input collection. |
Try this code on Compiler Explorer
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; auto kvps = std::array<std::pair<std::string, int>, 2>{{ { "d", 42 }, { "a", 43 } // won't be inserted, 'a' already exists }}; tbl.insert(kvps.begin(), kvps.end()); std::cout << tbl << "\n";
a = 1 b = 2 c = 3 a = 1 b = 2 c = 3 d = 42
template <typename KeyType, typename ValueType>
std:: pair<iterator, bool> toml:: table:: insert_or_assign(KeyType&& key,
ValueType&& val) noexcept
Inserts or assigns a value at a specific key.
Template parameters | |
---|---|
KeyType | std:: |
ValueType | toml:: |
Parameters | |
key | The key at which to insert or assign the value. |
val | The value to insert/assign. |
Returns | Valid input:
Input is an empty toml:: |
Try this code on Compiler Explorer
auto tbl = toml::table{{ { "a", 1 }, { "b", 2 }, { "c", 3 } }}; std::cout << tbl << "\n"; for (auto k : { "a", "d" }) { auto result = tbl.insert_or_assign(k, 42); std::cout << "value at key '"sv << k << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; } std::cout << tbl << "\n";
a = 1 b = 2 c = 3 value at key 'a' was assigned value at key 'd' was inserted a = 42 b = 2 c = 3 d = 42
bool toml:: table:: is_homogeneous(node_ type ntype) const override noexcept
Checks if the node contains values/elements of only one type.
Parameters | |
---|---|
ntype | A TOML node type. toml:: |
Returns | True if the node was homogeneous. |
auto arr = toml::array{ 1, 2, 3 }; std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n"; std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n"; std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n"; std::cout << "all ints: "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
homogeneous: true all floats: false all arrays: false all ints: true
bool toml:: table:: is_homogeneous(node_ type ntype,
node*& first_nonmatch) override noexcept
Checks if a node contains values/elements of only one type.
Parameters | |
---|---|
ntype | A TOML node type. toml:: |
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. |
Returns | True if the node was homogeneous. |
auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]"); toml::array& arr = *cfg["arr"].as_array(); toml::node* nonmatch{}; if (arr.is_homogeneous(toml::node_type::integer, nonmatch)) std::cout << "array was homogeneous"sv << "\n"; else std::cout << "array was not homogeneous!\n" << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
array was not homogeneous! first non-match was a floating-point at line 1, column 18
node* toml:: table:: get(std:: string_view key) noexcept
Gets the node at a specific key.
Parameters | |
---|---|
key | The node's key. |
Returns | A pointer to the node at the specified key, or nullptr. |
auto tbl = toml::table{{ { "a", 42, }, { "b", "is the meaning of life, apparently." } }}; std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n"; std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n"; std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n"; if (auto val = arr.get("a")) std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
node ["a"] exists: true node ["b"] exists: true node ["c"] exists: false node ["a"] was an integer
const node* toml:: table:: get(std:: string_view key) const noexcept
Gets the node at a specific key (const overload).
Parameters | |
---|---|
key | The node's key. |
Returns | A pointer to the node at the specified key, or nullptr. |
node* toml:: table:: get(std:: wstring_view key) noexcept
Gets the node at a specific key.
Parameters | |
---|---|
key | The node's key. |
Returns | A pointer to the node at the specified key, or nullptr. |
const node* toml:: table:: get(std:: wstring_view key) const noexcept
Gets the node at a specific key (const overload).
Parameters | |
---|---|
key | The node's key. |
Returns | A pointer to the node at the specified key, or nullptr. |
template <typename ValueType>
impl::wrap_node<ValueType>* toml:: table:: get_as(std:: string_view key) noexcept
Gets the node at a specific key if it is a particular type.
Template parameters | |
---|---|
ValueType | One of the TOML node or value types. |
Parameters | |
key | The node's key. |
Returns | A pointer to the node at the specified key if it was of the given type, or nullptr. |
auto tbl = toml::table{{ { "a", 42, }, { "b", "is the meaning of life, apparently." } }}; if (auto val = arr.get_as<int64_t>("a")) std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
node ["a"] was an integer with value 42
template <typename ValueType>
const impl::wrap_node<ValueType>* toml:: table:: get_as(std:: string_view key) const noexcept
Gets the node at a specific key if it is a particular type (const overload).
Template parameters | |
---|---|
ValueType | One of the TOML node or value types. |
Parameters | |
key | The node's key. |
Returns | A pointer to the node at the specified key if it was of the given type, or nullptr. |
template <typename ValueType>
impl::wrap_node<ValueType>* toml:: table:: get_as(std:: wstring_view key) noexcept
Gets the node at a specific key if it is a particular type.
Template parameters | |
---|---|
ValueType | One of the TOML node or value types. |
Parameters | |
key | The node's key. |
Returns | A pointer to the node at the specified key if it was of the given type, or nullptr. |
template <typename ValueType>
const impl::wrap_node<ValueType>* toml:: table:: get_as(std:: wstring_view key) const noexcept
Gets the node at a specific key if it is a particular type (const overload).
Template parameters | |
---|---|
ValueType | One of the TOML node or value types. |
Parameters | |
key | The node's key. |
Returns | A pointer to the node at the specified key if it was of the given type, or nullptr. |