打包的Actor标识符结构体。
More...
#include <nguid.h>
打包的Actor标识符结构体。
64位Actor全局唯一标识符,包含打包的类型、区域和数据ID字段。 位布局与平台字节序无关:
- [15:0] 16位 Actor类型
- [31:16] 16位 区域/分片
- [63:32] 32位 Actor本地数据ID
使用示例:
◆ nguid() [1/2]
◆ nguid() [2/2]
从三个字段构造。
- Parameters
-
| atype | Actor类型 |
| aareaid | 区域/分片 |
| aid | 数据ID |
◆ actordataid() [1/2]
返回Actor本地数值ID部分。
- Returns
- 数据ID值
◆ actordataid() [2/2]
从打包ID中提取数据ID部分。
- Parameters
-
- Returns
- 数据ID值
◆ area() [1/2]
◆ area() [2/2]
从打包ID中提取区域部分。
- Parameters
-
- Returns
- 区域值
◆ id()
返回打包的64位表示。
- Returns
- 打包的64位标识符
◆ is_actorareanone() [1/2]
| bool ngl::nguid::is_actorareanone |
( |
| ) |
const |
|
inline |
返回区域部分是否为哨兵无效值。
- Returns
- 是否为无效区域
◆ is_actorareanone() [2/2]
| bool ngl::nguid::is_actorareanone |
( |
i64_actorid | actorid | ) |
|
|
inlinestatic |
返回区域部分是否为哨兵无效值。
- Parameters
-
- Returns
- 是否为无效区域
◆ is_actoridnone() [1/2]
| bool ngl::nguid::is_actoridnone |
( |
| ) |
const |
|
inline |
返回数据ID部分是否为哨兵无效值。
- Returns
- 是否为无效数据ID
◆ is_actoridnone() [2/2]
返回数据ID部分是否为哨兵无效值。
- Parameters
-
- Returns
- 是否为无效数据ID
◆ is_actortypenone() [1/2]
| bool ngl::nguid::is_actortypenone |
( |
| ) |
const |
|
inline |
返回类型部分是否为哨兵无效值。
- Returns
- 是否为无效类型
◆ is_actortypenone() [2/2]
| bool ngl::nguid::is_actortypenone |
( |
i64_actorid | actorid | ) |
|
|
inlinestatic |
返回类型部分是否为哨兵无效值。
- Parameters
-
- Returns
- 是否为无效类型
◆ is_moreactor() [1/2]
| bool ngl::nguid::is_moreactor |
( |
ENUM_ACTOR | atype | ) |
const |
|
inline |
返回此GUID是否表示类型级广播目标。
- Parameters
-
- Returns
- 是否为广播目标
◆ is_moreactor() [2/2]
返回打包ID是否表示类型级广播目标。
- Parameters
-
| actorid | 打包的Actor ID |
| atype | Actor类型 |
- Returns
- 是否为广播目标
◆ make() [1/4]
构建哨兵"无效Actor ID"值。
- Returns
- 无效的64位标识符
◆ make() [2/4]
构建仅含类型的ID,用于单例式寻址。
- Parameters
-
- Returns
- 打包的64位标识符
◆ make() [3/4]
从三个组件构建打包ID。
- Parameters
-
| atype | Actor类型 |
| aareaid | 区域/分片 |
| aid | 数据ID |
- Returns
- 打包的64位标识符
◆ make() [4/4]
当Actor没有具体区域时构建ID。
- Parameters
-
- Returns
- 打包的64位标识符
◆ make_actordataid() [1/2]
就地修改数据ID位。
- Parameters
-
- Returns
- 修改后的64位标识符
◆ make_actordataid() [2/2]
返回替换了数据ID位的副本。
- Parameters
-
| aactorid | 原始Actor ID |
| aid | 新的数据ID |
- Returns
- 替换后的64位标识符
◆ make_area()
就地修改区域位。
- Parameters
-
- Returns
- 修改后的64位标识符
◆ make_self()
在本地进程区域构建仅含类型的ID。
创建本地单例Actor的ID
- Parameters
-
- Returns
- 打包的64位标识符
使用合并区域和none_actordataid构建,适用于tab_self_area容器中的实例。
- Parameters
-
- Returns
- 64位Actor ID
◆ make_type() [1/2]
就地修改类型位。
- Parameters
-
- Returns
- 修改后的64位标识符
◆ make_type() [2/2]
返回替换了类型位的副本。
- Parameters
-
| aactorid | 原始Actor ID |
| atype | 新的Actor类型 |
- Returns
- 替换后的64位标识符
◆ moreactor() [1/2]
构建"所有Actor类型"的哨兵广播ID。
- Returns
- 广播ID
◆ moreactor() [2/2]
构建"此类型所有Actor"的广播ID。
- Parameters
-
- Returns
- 广播ID
◆ name()
返回打包ID的调试友好型Actor类型名称。
- Parameters
-
- Returns
- Actor类型名称字符串
◆ none()
生成指定类型的哨兵无效值。
- Template Parameters
-
- Returns
- 无效值(-1转换为T类型)
◆ none_actordataid()
哨兵Actor本地ID值。
- Returns
- 无效数据ID
◆ none_area()
◆ none_type()
哨兵Actor类型值。
- Returns
- 无效Actor类型
◆ operator i64_actorid()
隐式转换为i64_actorid。
- Returns
- 打包的64位标识符
◆ operator<=>()
| auto ngl::nguid::operator<=> |
( |
const nguid & | r | ) |
const |
|
inline |
三路比较运算符。
- Parameters
-
- Returns
- 比较结果
◆ operator==() [1/2]
| bool ngl::nguid::operator== |
( |
const nguid & | r | ) |
const |
|
inline |
相等比较运算符。
- Parameters
-
- Returns
- 是否相等
◆ operator==() [2/2]
| bool ngl::nguid::operator== |
( |
int64_t | r | ) |
const |
|
inline |
与int64_t的相等比较运算符。
- Parameters
-
- Returns
- 是否相等
◆ type() [1/2]
返回Actor类型部分。
- Returns
- Actor类型枚举值
◆ type() [2/2]
从打包ID中提取Actor类型部分。
- Parameters
-
- Returns
- Actor类型值
The documentation for this struct was generated from the following files:
- E:/GitHub/ngl_server/public/cpp/actor/actor_base/core/nguid.h
- E:/GitHub/ngl_server/public/cpp/actor/actor_base/core/nguid.cpp