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

YAML映射值类型(字典/对象) 更多...

#include <yaml_value.hpp>

类 yaml_mapping 继承关系图:
[图例]

Public 类型

enum  mapping_style { Block , Flow }
 映射集合样式枚举 更多...
Public 类型 继承自 yaml_value
enum  types {
  Null , Boolean , Integer , Float ,
  String , Timestamp , Sequence , Mapping
}
 YAML值类型枚举 更多...

Public 成员函数

 yaml_mapping (const mapping_style s=Block)
 构造映射
types type () const noexcept override
 获取值的具体类型
void add_member (const string &key, shared_ptr< yaml_value > value)
 添加或覆盖键值对
const yaml_valueget_member (const string &key) const
 获取指定键名的成员(常量版本)
yaml_valueget_member (const string &key)
 获取指定键名的成员(可变版本)
bool has_member (const string &key) const
 检查键名是否存在
const unordered_map< string, shared_ptr< yaml_value > > & get_members () const noexcept
 获取所有成员的常量引用
mapping_style get_style () const noexcept
 获取集合样式
void set_style (const mapping_style s) noexcept
 设置集合样式
void merge_from (const yaml_mapping *other)
 合并另一个映射的成员
Public 成员函数 继承自 yaml_value
void set_anchor (const string &a)
 设置锚点名
void set_tag (const string &t)
 设置类型标签
string to_string () const
 紧凑单行序列化
string to_document () const
 格式化文档序列化
Public 成员函数 继承自 istringify< yaml_value >
constexpr string to_string () const
 转换为字符串

额外继承的成员函数

Public 属性 继承自 yaml_value
string anchor
 锚点名(YAML &anchor 语法),空字符串表示无锚点
string tag
 类型标签(YAML !tag 语法),空字符串表示无标签

详细描述

YAML映射值类型(字典/对象)

表示YAML中的键值对集合。支持两种集合样式:

  • **块样式**(Block):每行 key: value 的缩进格式
  • **流样式**(Flow):花括号内的逗号分隔格式 {key: value, ...}

映射中的键名为字符串类型,值可以是任意YAML值类型 (包括嵌套的序列和映射)。

注解
此类禁止拷贝,仅允许移动。
键名比较基于字符串相等,不区分YAML标量样式。

在文件 yaml_value.hpp683 行定义.

成员枚举类型说明

◆ mapping_style

映射集合样式枚举

枚举值
Block 

块样式(key: value)

Flow 

流样式({key: value})

在文件 yaml_value.hpp689 行定义.

构造及析构函数说明

◆ yaml_mapping()

yaml_mapping::yaml_mapping ( const mapping_style s = Block)
inlineexplicit

构造映射

参数
s集合样式,默认为块样式

在文件 yaml_value.hpp705 行定义.

引用了 Block.

被这些函数引用 merge_from().

成员函数说明

◆ add_member()

void yaml_mapping::add_member ( const string & key,
shared_ptr< yaml_value > value )
inline

添加或覆盖键值对

参数
key键名字符串
value关联的YAML值

在文件 yaml_value.hpp721 行定义.

引用了 move().

◆ get_member() [1/2]

yaml_value * yaml_mapping::get_member ( const string & key)
inlinenodiscard

获取指定键名的成员(可变版本)

参数
key键名字符串
返回
值指针,键不存在返回 nullptr

在文件 yaml_value.hpp741 行定义.

◆ get_member() [2/2]

const yaml_value * yaml_mapping::get_member ( const string & key) const
inlinenodiscard

获取指定键名的成员(常量版本)

参数
key键名字符串
返回
值指针,键不存在返回 nullptr

在文件 yaml_value.hpp728 行定义.

◆ get_members()

const unordered_map< string, shared_ptr< yaml_value > > & yaml_mapping::get_members ( ) const
inlinenodiscardnoexcept

获取所有成员的常量引用

返回
键值对映射表的常量引用

在文件 yaml_value.hpp760 行定义.

被这些函数引用 merge_from().

◆ get_style()

mapping_style yaml_mapping::get_style ( ) const
inlinenodiscardnoexcept

获取集合样式

返回
映射样式枚举值

在文件 yaml_value.hpp768 行定义.

◆ has_member()

bool yaml_mapping::has_member ( const string & key) const
inlinenodiscard

检查键名是否存在

参数
key键名字符串
返回
键存在返回 true

在文件 yaml_value.hpp754 行定义.

◆ merge_from()

void yaml_mapping::merge_from ( const yaml_mapping * other)
inline

合并另一个映射的成员

参数
other源映射指针

将 other 中的键值对合并到当前映射中。 如果键名已存在,保留当前映射中的值(不覆盖)。

在文件 yaml_value.hpp783 行定义.

引用了 pair< T1, T2 >::first, get_members(), pair< T1, T2 >::second , 以及 yaml_mapping().

◆ set_style()

void yaml_mapping::set_style ( const mapping_style s)
inlinenoexcept

设置集合样式

参数
s新的映射样式

在文件 yaml_value.hpp774 行定义.

◆ type()

types yaml_mapping::type ( ) const
inlinenodiscardoverridevirtualnoexcept

获取值的具体类型

返回
类型枚举值

实现了 yaml_value.

在文件 yaml_value.hpp713 行定义.

引用了 yaml_value::Mapping , 以及 type().

被这些函数引用 type().


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