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

排名集合基类 More...

#include <rankset.h>

Inheritance diagram for ngl::rankset_base:
ngl::rankset< ETYPE >

Public Member Functions

 rankset_base (pbdb::eranklist aranktype)
 构造函数
virtual ~rankset_base ()=default
 虚析构函数
const tab_ranklisttab ()
 获取排行榜配置表
int32_t showitem ()
 获取显示条目数
int32_t everypagecount ()
 获取每页条目数
int32_t maxitem ()
 获取最大条目数
int32_t minvalue ()
 获取最低上榜数值
virtual void erase (rank_item *aitem)=0
 删除条目
virtual void insert (rank_item *aitem)=0
 插入条目
virtual void foreach (const std::function< void(int32_t, const rank_item *)> &)=0
 遍历所有条目
virtual int32_t getpage (i64_actorid aroleid, int32_t apage, const std::function< void(int32_t, const rank_item *)> &afun)=0
 分页获取条目
virtual int32_t role_rank (i64_actorid aroleid)=0
 获取角色排名

Detailed Description

排名集合基类

定义排行榜的通用接口,包括插入、删除、遍历、分页查询和排名查询。 每种排行榜类型对应一个rankset子类实例。

Constructor & Destructor Documentation

◆ rankset_base()

ngl::rankset_base::rankset_base ( pbdb::eranklist aranktype)
inlineexplicit

构造函数

Parameters
[in]aranktype排行榜类型

◆ ~rankset_base()

virtual ngl::rankset_base::~rankset_base ( )
virtualdefault

虚析构函数

本类通过 unique_ptr<rankset_base> 持有 rankset<ETYPE> 派生对象, 必须有虚析构,否则经基类指针删除是UB且泄漏派生成员。

Member Function Documentation

◆ erase()

virtual void ngl::rankset_base::erase ( rank_item * aitem)
pure virtual

删除条目

Implemented in ngl::rankset< ETYPE >.

◆ foreach()

virtual void ngl::rankset_base::foreach ( const std::function< void(int32_t, const rank_item *)> & )
pure virtual

遍历所有条目

Implemented in ngl::rankset< ETYPE >.

◆ getpage()

virtual int32_t ngl::rankset_base::getpage ( i64_actorid aroleid,
int32_t apage,
const std::function< void(int32_t, const rank_item *)> & afun )
pure virtual

分页获取条目

Parameters
[in]aroleid请求者角色ID
[in]apage页码
[in]afun回调函数
Returns
总显示条目数

Implemented in ngl::rankset< ETYPE >.

◆ insert()

virtual void ngl::rankset_base::insert ( rank_item * aitem)
pure virtual

插入条目

Implemented in ngl::rankset< ETYPE >.

◆ role_rank()

virtual int32_t ngl::rankset_base::role_rank ( i64_actorid aroleid)
pure virtual

获取角色排名

Parameters
[in]aroleid角色ID
Returns
排名值,未上榜返回-1

Implemented in ngl::rankset< ETYPE >.


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