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

CSV表注册表 More...

#include <ncsv.h>

Static Public Member Functions

static void add (const char *akey, std::shared_ptr< csv_base > &ap)
 注册CSV表
static csv_baseget_csvbase (const std::string &akey)
 获取CSV表基类指针
template<typename TTAB>
static void loadcsv ()
 加载CSV表
template<typename TTAB>
static TTAB * get ()
 获取CSV表实例
template<typename TAB>
static TAB * tab (const int32_t aid)
 按ID查询表记录
static void foreach_verify (std::map< std::string, std::string > &averify)
 遍历所有表的内容哈希
static std::map< std::string, std::shared_ptr< csv_base > > & all ()
 获取所有注册的CSV表

Detailed Description

CSV表注册表

提供CSV表的中央注册、查询和加载功能。 所有CSV表通过此类进行统一管理。

// 注册并加载CSV表
// 查询表
// 查询记录
MyTable* item = ngl::ncsv::tab<MyTable>(123);

Member Function Documentation

◆ add()

void ngl::ncsv::add ( const char * akey,
std::shared_ptr< csv_base > & ap )
static

注册CSV表

注册CSV表到全局注册表

Parameters
akey表名
ap表实例指针

生成的访问器和热加载端点使用的中央表注册表。

Parameters
akey表标识键(TAB::name())
apCSV表实例智能指针

◆ all()

std::map< std::string, std::shared_ptr< csv_base > > & ngl::ncsv::all ( )
static

获取所有注册的CSV表

获取所有已注册CSV表的映射

Returns
表注册表引用
表名到csv_base智能指针的映射引用

◆ foreach_verify()

void ngl::ncsv::foreach_verify ( std::map< std::string, std::string > & averify)
static

遍历所有表的内容哈希

遍历所有已注册表并收集MD5校验值

Parameters
averify输出哈希映射

公开所有表哈希,供远程热加载工具检测过期数据。

Parameters
averify输出参数,键为表名,值为MD5校验值

◆ get()

template<typename TTAB>
TTAB * ngl::ncsv::get ( )
inlinestatic

获取CSV表实例

Template Parameters
TTAB表类型
Returns
表实例指针,未找到返回nullptr

◆ get_csvbase()

csv_base * ngl::ncsv::get_csvbase ( const std::string & akey)
static

获取CSV表基类指针

按键获取CSV表基类指针

Parameters
akey表名
Returns
表基类指针,未找到返回nullptr
Parameters
akey表标识键
Returns
csv_base裸指针,未找到返回nullptr

◆ loadcsv()

template<typename TTAB>
void ngl::ncsv::loadcsv ( )
inlinestatic

加载CSV表

Template Parameters
TTAB表类型

创建表实例,注册并加载数据。

◆ tab()

template<typename TAB>
TAB * ngl::ncsv::tab ( const int32_t aid)
inlinestatic

按ID查询表记录

Template Parameters
TAB表结构类型
Parameters
aid记录ID
Returns
记录指针,未找到返回nullptr

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