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

Actor分组管理类。 More...

#include <tools_group.h>

Public Member Functions

 group ()
 默认构造函数。
int create (ENUM_ACTOR atype=ACTOR_NONE)
 创建一个新的空分组。
void remove (int agroupid)
 移除一个分组及其所有成员。
bool add_member (int agroupid, i64_actorid amember)
 向已有分组中添加一个Actor ID。
void remove_member (int agroupid, i64_actorid amember)
 从已有分组中移除一个Actor ID。
const std::set< i64_actorid > * get_group (int agroupid)
 获取指定分组的完整成员集合。

Detailed Description

Actor分组管理类。

管理Actor ID的分组,支持动态创建和销毁分组, 以及向分组中添加或移除Actor成员。

Note
每个分组由一个整数ID标识,成员以set存储确保唯一性。
分组ID自增生成,删除后不复用。
group grp;
int gid = grp.create();
grp.add_member(gid, actor_id_1);
grp.add_member(gid, actor_id_2);
const auto* members = grp.get_group(gid);

Member Function Documentation

◆ add_member()

bool ngl::tools::group::add_member ( int agroupid,
i64_actorid amember )
inline

向已有分组中添加一个Actor ID。

Parameters
agroupid目标分组ID
amember要添加的Actor ID
Returns
true 添加成功
false 分组不存在,添加失败

◆ create()

int ngl::tools::group::create ( ENUM_ACTOR atype = ACTOR_NONE)
inline

创建一个新的空分组。

Parameters
atypeActor类型(当前未使用,保留扩展)
Returns
int 新创建的分组ID

◆ get_group()

const std::set< i64_actorid > * ngl::tools::group::get_group ( int agroupid)
inline

获取指定分组的完整成员集合。

Parameters
agroupid分组ID
Returns
const std::set<i64_actorid>* 成员集合指针,分组不存在返回nullptr

◆ remove()

void ngl::tools::group::remove ( int agroupid)
inline

移除一个分组及其所有成员。

Parameters
agroupid要移除的分组ID

◆ remove_member()

void ngl::tools::group::remove_member ( int agroupid,
i64_actorid amember )
inline

从已有分组中移除一个Actor ID。

Parameters
agroupid目标分组ID
amember要移除的Actor ID
Note
如果分组不存在则静默返回。

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