![]() |
RMVL
2.6.0-dev
Robotic Manipulation and Vision Library
|
共享底层节点树所有权的只读节点句柄 更多...
#include <rmvl/core/toml.hpp>
Public 成员函数 | |
| Node () noexcept=default | |
| 构造不关联任何节点树的无效节点 | |
| bool | valid () const noexcept |
| operator bool () const noexcept | |
| NodeType | type () const noexcept |
| bool | isTable () const noexcept |
| bool | isArray () const noexcept |
| std::size_t | size () const noexcept |
| bool | contains (std::string_view key) const noexcept |
| 判断表中是否存在指定键 | |
| Node | operator[] (std::string_view key) const noexcept |
| 查询表的子节点,不插入或修改节点 | |
| Node | operator[] (std::size_t index) const noexcept |
| 查询数组元素 | |
| std::vector< std::string_view > | keys () const |
| 获取表的全部键名 | |
| template<typename T> | |
| bool | read (T &value) const |
| 读取节点并转换为指定的 C++ 类型 | |
| template<typename T> | |
| std::optional< T > | as () const |
| 读取节点并返回可选的转换结果 | |
| template<typename T> | |
| T | valueOr (T fallback) const |
| 读取节点,转换失败时使用默认值 | |
友元 | |
| Node | loads (std::string_view source, Error *error=nullptr) |
| 从内存中的 UTF-8 文本解析 TOML 1.0 配置 | |
共享底层节点树所有权的只读节点句柄
|
defaultnoexcept |
构造不关联任何节点树的无效节点
| std::optional< T > rm::toml::Node::as | ( | ) | const |
读取节点并返回可选的转换结果
| T | 目标类型,需能默认构造,支持范围和转换规则与 read() 相同 |
|
noexcept |
判断表中是否存在指定键
| [in] | key | 字面键名,不解释点分路径 |
|
inlinenoexcept |
|
inlinenoexcept |
| std::vector< std::string_view > rm::toml::Node::keys | ( | ) | const |
|
inlineexplicitnoexcept |
|
noexcept |
查询数组元素
| [in] | index | 从 0 开始的元素下标 |
|
noexcept |
查询表的子节点,不插入或修改节点
| [in] | key | 字面键名,例如 "a.b" 表示单个键,嵌套访问应使用 node["a"]["b"] |
| bool rm::toml::Node::read | ( | T & | value | ) | const |
读取节点并转换为指定的 C++ 类型
| T | 支持 std::string、bool、整数、浮点、枚举、Date、Time、DateTime、std::optional、 std::vector、std::array、以 std::string 为键的 std::map/std::unordered_map,以及 ADL 自定义类型 |
| [out] | value | 转换结果,返回 false 时保持其原值不变 |
|
noexcept |
|
noexcept |
|
inlinenodiscardnoexcept |
| T rm::toml::Node::valueOr | ( | T | fallback | ) | const |
读取节点,转换失败时使用默认值
| T | 目标类型,需能默认构造,支持范围和转换规则与 read() 相同 |
| [in] | fallback | 节点缺失、类型不符或数值越界等转换失败时使用的默认值 |
从内存中的 UTF-8 文本解析 TOML 1.0 配置
| [in] | source | TOML 文本,不要求以空字符结尾 |
| [out] | error | 可选的错误输出,默认为 nullptr,成功时清空已有错误 |
编码或语法错误、重复键和非法表定义等问题通过返回值和 ErrorCode::Parse 报告,不抛出异常