NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
yaml_builder类 参考

YAML配置构建器 更多...

#include <yaml_builder.hpp>

Public 成员函数

 yaml_builder ()
 构造函数
 yaml_builder (yaml_builder &&other)=default
 移动构造函数
yaml_builderoperator= (yaml_builder &&other)=default
 移动赋值运算符
yaml_builderkey (string key)
 设置当前键名
yaml_builderbegin_mapping ()
 开始一个映射(块样式)
yaml_builderbegin_block_mapping ()
 开始一个块样式映射
yaml_builderbegin_flow_mapping ()
 开始一个流样式映射
yaml_builderend_mapping ()
 结束当前映射
yaml_builderbegin_sequence ()
 开始一个序列(块样式)
yaml_builderbegin_block_sequence ()
 开始一个块样式序列
yaml_builderbegin_flow_sequence ()
 开始一个流样式序列
yaml_builderend_sequence ()
 结束当前序列
yaml_buildervalue (nullptr_t np)
 设置null值
yaml_buildervalue (const bool v)
 设置布尔值
yaml_buildervalue (const int64_t v)
 设置64位整数值
yaml_buildervalue (const int v)
 设置整数值
yaml_buildervalue (const double v)
 设置双精度浮点数值
yaml_buildervalue (string v)
 设置字符串值(纯文本样式)
yaml_buildervalue (const char *v)
 设置C字符串值
yaml_buildervalue (const string_view v)
 设置字符串视图值
yaml_buildervalue (shared_ptr< yaml_value > v)
 设置已构建的YAML值
yaml_buildervalue_datetime (const datetime &dt)
 设置时间戳值
yaml_buildervalue_string (string v, yaml_string::string_style style)
 设置指定类型的字符串值
template<typename Iterable, enable_if_t< is_iterable_v< Iterable >, int > = 0>
yaml_buildervalue_iterable (const Iterable &iterable)
 设置可迭代对象的值
yaml_buildervalue_mapping (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建映射值
yaml_buildervalue_block_mapping (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建块样式映射值
yaml_buildervalue_flow_mapping (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建流样式映射值
yaml_buildervalue_sequence (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建序列值
yaml_buildervalue_block_sequence (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建块样式序列值
yaml_buildervalue_flow_sequence (const function< void(yaml_builder &)> &build_func)
 使用函数式方式构建流样式序列值
yaml_builderanchor (string name)
 为下一个值设置锚点
yaml_buildertag (string t)
 为下一个值设置标签
yaml_builderalias (const string &name)
 添加一个别名引用
yaml_builderbegin_document ()
 开始新文档(多文档模式)
shared_ptr< yaml_valuebuild ()
 构建YAML文档树
vector< shared_ptr< yaml_value > > build_documents ()
 构建多文档YAML文档树

详细描述

YAML配置构建器

提供流式接口构建YAML配置格式,支持以下特性:

  • 链式调用构建映射和序列
  • 自动类型转换(整数、浮点数、布尔值、字符串)
  • 函数式构建嵌套结构
  • 集合类型自动转换(可迭代对象、映射表)
  • 上下文管理(自动维护当前映射/序列状态)
  • 支持所有YAML字符串类型(Plain, SingleQuoted, DoubleQuoted, Literal, Folded)
  • 支持时间戳类型
  • 支持锚点、别名和标签
  • 支持块样式和流样式
  • 支持多文档

在文件 yaml_builder.hpp44 行定义.

构造及析构函数说明

◆ yaml_builder()

成员函数说明

◆ alias()

yaml_builder & yaml_builder::alias ( const string & name)

添加一个别名引用

参数
name锚点名
返回
自身引用,支持链式调用
异常
yaml_exception当锚点不存在时抛出

引用之前通过anchor()设置的同名节点。

引用了 name() , 以及 yaml_builder().

◆ anchor()

yaml_builder & yaml_builder::anchor ( string name)

为下一个值设置锚点

参数
name锚点名
返回
自身引用,支持链式调用

锚点将应用到下一个通过value()或begin_*添加的值上。

引用了 name() , 以及 yaml_builder().

◆ begin_block_mapping()

yaml_builder & yaml_builder::begin_block_mapping ( )

开始一个块样式映射

返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ begin_block_sequence()

yaml_builder & yaml_builder::begin_block_sequence ( )

开始一个块样式序列

返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ begin_document()

yaml_builder & yaml_builder::begin_document ( )

开始新文档(多文档模式)

返回
自身引用,支持链式调用

保存当前文档并开始新文档。新文档的根默认为块样式映射。

引用了 yaml_builder().

◆ begin_flow_mapping()

yaml_builder & yaml_builder::begin_flow_mapping ( )

开始一个流样式映射

返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ begin_flow_sequence()

yaml_builder & yaml_builder::begin_flow_sequence ( )

开始一个流样式序列

返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ begin_mapping()

yaml_builder & yaml_builder::begin_mapping ( )

开始一个映射(块样式)

返回
自身引用,支持链式调用
异常
yaml_exception当上下文无效或键名缺失时抛出

引用了 yaml_builder().

◆ begin_sequence()

yaml_builder & yaml_builder::begin_sequence ( )

开始一个序列(块样式)

返回
自身引用,支持链式调用
异常
yaml_exception当上下文无效或键名缺失时抛出

引用了 yaml_builder().

◆ build()

shared_ptr< yaml_value > yaml_builder::build ( )

构建YAML文档树

返回
构建完成的根值
异常
yaml_exception当存在未闭合的上下文时抛出

◆ build_documents()

vector< shared_ptr< yaml_value > > yaml_builder::build_documents ( )

构建多文档YAML文档树

返回
所有文档的根值列表
异常
yaml_exception当存在未闭合的上下文时抛出

◆ end_mapping()

yaml_builder & yaml_builder::end_mapping ( )

结束当前映射

返回
自身引用,支持链式调用
异常
yaml_exception当不在映射上下文中时抛出

引用了 yaml_builder().

◆ end_sequence()

yaml_builder & yaml_builder::end_sequence ( )

结束当前序列

返回
自身引用,支持链式调用
异常
yaml_exception当不在序列上下文中时抛出

引用了 yaml_builder().

◆ key()

yaml_builder & yaml_builder::key ( string key)

设置当前键名

参数
key键名字符串
返回
自身引用,支持链式调用
异常
yaml_exception当不在映射上下文中时抛出

引用了 key() , 以及 yaml_builder().

被这些函数引用 key().

◆ tag()

yaml_builder & yaml_builder::tag ( string t)

为下一个值设置标签

参数
t标签字符串(如"!mytag"、"!!str")
返回
自身引用,支持链式调用

标签将应用到下一个通过value()或begin_*添加的值上。

引用了 yaml_builder().

◆ value() [1/9]

yaml_builder & yaml_builder::value ( const bool v)
inline

设置布尔值

参数
v布尔值
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp242 行定义.

引用了 make_shared() , 以及 yaml_builder().

◆ value() [2/9]

yaml_builder & yaml_builder::value ( const char * v)
inline

设置C字符串值

参数
vC字符串
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp277 行定义.

引用了 value() , 以及 yaml_builder().

被这些函数引用 value().

◆ value() [3/9]

yaml_builder & yaml_builder::value ( const double v)
inline

设置双精度浮点数值

参数
v双精度浮点数
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp263 行定义.

引用了 make_shared() , 以及 yaml_builder().

◆ value() [4/9]

yaml_builder & yaml_builder::value ( const int v)
inline

设置整数值

参数
v整数
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp256 行定义.

引用了 make_shared() , 以及 yaml_builder().

◆ value() [5/9]

yaml_builder & yaml_builder::value ( const int64_t v)
inline

设置64位整数值

参数
v64位整数
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp249 行定义.

引用了 make_shared() , 以及 yaml_builder().

◆ value() [6/9]

yaml_builder & yaml_builder::value ( const string_view v)
inline

设置字符串视图值

参数
v字符串视图
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp284 行定义.

引用了 value() , 以及 yaml_builder().

被这些函数引用 value().

◆ value() [7/9]

yaml_builder & yaml_builder::value ( nullptr_t np)
inline

设置null值

参数
np空指针标记
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp235 行定义.

引用了 make_shared() , 以及 yaml_builder().

◆ value() [8/9]

yaml_builder & yaml_builder::value ( shared_ptr< yaml_value > v)
inline

设置已构建的YAML值

参数
vYAML值指针
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp291 行定义.

引用了 move() , 以及 yaml_builder().

◆ value() [9/9]

yaml_builder & yaml_builder::value ( string v)
inline

设置字符串值(纯文本样式)

参数
v字符串值
返回
自身引用,支持链式调用

在文件 yaml_builder.hpp270 行定义.

引用了 make_shared(), move(), yaml_string::Plain , 以及 yaml_builder().

◆ value_block_mapping()

yaml_builder & yaml_builder::value_block_mapping ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建块样式映射值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_block_sequence()

yaml_builder & yaml_builder::value_block_sequence ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建块样式序列值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_datetime()

yaml_builder & yaml_builder::value_datetime ( const datetime & dt)

设置时间戳值

参数
dt日期时间对象
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_flow_mapping()

yaml_builder & yaml_builder::value_flow_mapping ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建流样式映射值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_flow_sequence()

yaml_builder & yaml_builder::value_flow_sequence ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建流样式序列值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_iterable()

template<typename Iterable, enable_if_t< is_iterable_v< Iterable >, int > = 0>
yaml_builder & yaml_builder::value_iterable ( const Iterable & iterable)
inline

设置可迭代对象的值

模板参数
Iterable可迭代类型
参数
iterable可迭代对象
返回
自身引用,支持链式调用

根据类型自动转换为序列或内联映射:

  • 映射表类型转换为流样式映射
  • 其他可迭代类型转换为序列

在文件 yaml_builder.hpp319 行定义.

引用了 yaml_builder().

◆ value_mapping()

yaml_builder & yaml_builder::value_mapping ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建映射值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_sequence()

yaml_builder & yaml_builder::value_sequence ( const function< void(yaml_builder &)> & build_func)

使用函数式方式构建序列值

参数
build_func构建函数
返回
自身引用,支持链式调用

引用了 yaml_builder().

◆ value_string()

yaml_builder & yaml_builder::value_string ( string v,
yaml_string::string_style style )

设置指定类型的字符串值

参数
v字符串值
style字符串样式
返回
自身引用,支持链式调用

引用了 yaml_builder().


该类的文档由以下文件生成: