#include <ObjectManager.hpp>
|
|
errc_t | removeNode (uint32_t index) |
| |
|
void | advanceIndex () |
| |
|
|
std::vector< ObjectNode * > | objects_ |
| |
|
uint32_t | nextIndex_ {0} |
| |
|
uint32_t | maxObjectCount_ {kDefaultMaxObjectCount} |
| |
|
|
static constexpr uint32_t | kDefaultMaxObjectCount = static_cast<uint32_t>(-1) - 1 |
| |
◆ addObject()
| uint32_t ast::ObjectManager::addObject |
( |
Object * | object | ) |
|
添加对象到对象管理器
将对象添加到对象管理器中,返回对象的索引/对象ID, 如果对象已存在则返回已存在的索引/对象ID
- 参数
-
- 返回
- 对象的索引/对象ID
◆ getMaxObjectCount()
| uint32_t ast::ObjectManager::getMaxObjectCount |
( |
| ) |
const |
|
inline |
◆ getObject()
| Object * ast::ObjectManager::getObject |
( |
uint32_t | index | ) |
|
◆ getObjectCount()
| uint32_t ast::ObjectManager::getObjectCount |
( |
| ) |
const |
获取当前对象数量
- 警告
- 这个函数会遍历所有对象节点判断对象是否存活,时间复杂度为O(n),请谨慎使用
- 返回
- 当前对象数量
◆ getParentScope()
获取对象的父作用域
obj 对象指针
- 返回
- 父作用域指针
◆ setMaxObjectCount()
| errc_t ast::ObjectManager::setMaxObjectCount |
( |
uint32_t | maxCount | ) |
|
设置最大对象数量
如果最大对象数量小于当前对象数量,则设置失败
- 参数
-
- 警告
- 这个函数会限制对象管理器中最大对象数量,请谨慎使用
◆ setParentScope()
| errc_t ast::ObjectManager::setParentScope |
( |
Object * | obj, |
|
|
Object * | parentScope ) |
该类的文档由以下文件生成: