🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
ast::ModeratorObserverMultiplexer类 参考final

#include <ModeratorObserverMultiplexer.hpp>

+ 类 ast::ModeratorObserverMultiplexer 继承关系图:

Public 成员函数

 ~ModeratorObserverMultiplexer ()
 
 ModeratorObserverMultiplexer (const ModeratorObserverMultiplexer &)=delete
 
ModeratorObserverMultiplexer & operator= (const ModeratorObserverMultiplexer &)=delete
 
void addObserver (ModeratorObserver *observer)
 
void removeObserver (ModeratorObserver *observer)
 
void clear ()
 
void onObjectAdded (Object &obj) override
 
void onBeforeObjectRemove (Object &obj) override
 
void onObjectRemoved (Object &obj) override
 
void onBeforeObjectRename (Object &obj, StringView oldName, StringView newName) override
 
void onObjectRenamed (Object &obj, StringView oldName, StringView newName) override
 
- Public 成员函数 继承自 ast::ModeratorObserver
virtual ~ModeratorObserver ()
 

详细描述

多路复用观察者:聚合分发到多个子观察者(可嵌套),不拥有子观察者

自身实现 ModeratorObserver 接口,把收到的通知依次转发给全部子观察者;

成员函数说明

◆ addObserver()

void ast::ModeratorObserverMultiplexer::addObserver ( ModeratorObserver * observer)

注册子观察者

参数
observer子观察者指针(可为另一复用器)

◆ onBeforeObjectRemove()

void ast::ModeratorObserverMultiplexer::onBeforeObjectRemove ( Object & obj)
overridevirtual

转发:对象将被移除(前)

重载 ast::ModeratorObserver .

◆ onBeforeObjectRename()

void ast::ModeratorObserverMultiplexer::onBeforeObjectRename ( Object & obj,
StringView oldName,
StringView newName )
overridevirtual

转发:对象将被重命名(前)

重载 ast::ModeratorObserver .

◆ onObjectAdded()

void ast::ModeratorObserverMultiplexer::onObjectAdded ( Object & obj)
overridevirtual

转发:对象被添加(后)

重载 ast::ModeratorObserver .

◆ onObjectRemoved()

void ast::ModeratorObserverMultiplexer::onObjectRemoved ( Object & obj)
overridevirtual

转发:对象已被移除(后)

重载 ast::ModeratorObserver .

◆ onObjectRenamed()

void ast::ModeratorObserverMultiplexer::onObjectRenamed ( Object & obj,
StringView oldName,
StringView newName )
overridevirtual

转发:对象已被重命名(后)

重载 ast::ModeratorObserver .

◆ removeObserver()

void ast::ModeratorObserverMultiplexer::removeObserver ( ModeratorObserver * observer)

移除子观察者(不 delete)

参数
observer子观察者指针

该类的文档由以下文件生成: