NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::signal_base类 参考abstract

信号类型擦除基类 更多...

#include <signals.hpp>

类 neforce::signal_base 继承关系图:
[图例]

Public 成员函数

virtual void disconnect_all ()=0
 断开所有连接
virtual void block ()=0
 阻塞信号触发
virtual void unblock ()=0
 解除阻塞
virtual bool is_blocked () const =0
 是否处于阻塞状态
virtual size_t slot_count () const =0
 获取已连接槽数量
virtual void emit_dynamic (const vector< reflect::meta_any > &args)=0
 通过 meta_any 参数列表触发信号(类型擦除版本)
virtual void connect_dynamic (function< void(const vector< reflect::meta_any > &)> callback)=0
 动态连接槽回调(类型擦除版本)

详细描述

信号类型擦除基类

所有 signal<Types...> 的公共非模板基类,提供类型擦除操作。 反射系统通过此基类操作异质信号实例。

在文件 signals.hpp34 行定义.

成员函数说明

◆ connect_dynamic()

virtual void neforce::signal_base::connect_dynamic ( function< void(const vector< reflect::meta_any > &)> callback)
pure virtual

动态连接槽回调(类型擦除版本)

参数
callback回调函数,接收 meta_any 参数列表

由子类实现,将类型擦除的回调适配为强类型连接。

neforce::signal< Types >, neforce::signal< int >, neforce::signal< neforce::basic_string< char > > , 以及 neforce::signal< T > 内被实现.

◆ emit_dynamic()

virtual void neforce::signal_base::emit_dynamic ( const vector< reflect::meta_any > & args)
pure virtual

通过 meta_any 参数列表触发信号(类型擦除版本)

参数
args参数列表

由子类实现,将 meta_any 解包后转为强类型 emit 调用。

neforce::signal< Types >, neforce::signal< int >, neforce::signal< neforce::basic_string< char > > , 以及 neforce::signal< T > 内被实现.


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