ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::xarg_info Class Reference

通用配置键值对容器 More...

#include <xmlinfo.h>

Public Types

using map_type = std::map<std::string, std::string, std::less<>>
 配置映射类型

Public Member Functions

map_typedata ()
 获取配置数据映射
const map_typedata () const
 获取配置数据映射(常量版本)
std::size_t size () const noexcept
 获取配置项数量
template<typename TVALUE>
bool find (const char *akey, TVALUE &adata) const
 查找并转换配置值
bool find (const char *akey, bool &adata) const
 查找布尔配置值
bool find (const char *akey, std::string &adata) const
 查找字符串配置值
bool find_view (const char *akey, std::string_view &adata) const
 查找配置值(字符串视图版本)
template<typename TFUN>
void foreach (TFUN &&afun) const
 遍历所有配置项

Detailed Description

通用配置键值对容器

提供类型安全的配置值访问,支持:

  • 按键名查询配置值
  • 类型转换(通过tools::lexical_cast)
  • 遍历所有配置项
    // 从XML加载配置
    config.xml_pop(xml_element);
    // 读取配置值
    int32_t value;
    if (config.find("key", value)) {
    // 使用配置值
    }
    // 遍历所有配置
    config.foreach([](const auto& pair) {
    std::cout << pair.first << ": " << pair.second << std::endl;
    });

Member Function Documentation

◆ data() [1/2]

map_type & ngl::xarg_info::data ( )
inline

获取配置数据映射

Returns
配置映射引用

◆ data() [2/2]

const map_type & ngl::xarg_info::data ( ) const
inline

获取配置数据映射(常量版本)

Returns
配置映射常量引用

◆ find() [1/3]

bool ngl::xarg_info::find ( const char * akey,
bool & adata ) const

查找布尔配置值

查找布尔类型配置值

Parameters
akey配置键名
adata输出布尔值
Returns
查找成功返回true

先尝试文本布尔解析,失败后回退到lexical_cast。

Parameters
akey配置键名
adata输出布尔值
Return values
true查找并解析成功
false键不存在或解析失败

◆ find() [2/3]

bool ngl::xarg_info::find ( const char * akey,
std::string & adata ) const

查找字符串配置值

查找字符串类型配置值

Parameters
akey配置键名
adata输出字符串
Returns
查找成功返回true
Parameters
akey配置键名
adata输出字符串
Return values
true查找成功
false键不存在

◆ find() [3/3]

template<typename TVALUE>
bool ngl::xarg_info::find ( const char * akey,
TVALUE & adata ) const
inline

查找并转换配置值

Template Parameters
TVALUE目标类型
Parameters
akey配置键名
adata输出值
Returns
查找成功返回true

保持与配置系统其余部分相同的转换策略, 所有转换都通过 tools::lexical_cast 进行。

◆ find_view()

bool ngl::xarg_info::find_view ( const char * akey,
std::string_view & adata ) const

查找配置值(字符串视图版本)

查找配置值并以string_view形式返回(零拷贝)

Parameters
akey配置键名
adata输出字符串视图
Returns
查找成功返回true
Parameters
akey配置键名
adata输出字符串视图
Return values
true查找成功
false键不存在

◆ foreach()

template<typename TFUN>
void ngl::xarg_info::foreach ( TFUN && afun) const
inline

遍历所有配置项

Template Parameters
TFUN回调函数类型
Parameters
afun回调函数,接收键值对

◆ size()

std::size_t ngl::xarg_info::size ( ) const
inlinenoexcept

获取配置项数量

Returns
配置项数量

The documentation for this class was generated from the following files: