|
Console Library 8.0.0
A header-only library that makes C++ simple
|
在运行时实现双重分派(double dispatch)。 More...
#include <functional>#include <memory>#include <string>#include <typeindex>#include <unordered_map>#include <utility>#include "../core/csexc.h"Go to the source code of this file.
Classes | |
| struct | console::PairHash |
| 用于 std::pair 类型的哈希函数对象。 More... | |
| class | console::Table< T, F > |
| 双重分派函数表,用于根据两个对象的运行时类型调用注册的函数。 More... | |
Namespaces | |
| namespace | console |
| 本库所有组件所在的顶层命名空间。 | |
在运行时实现双重分派(double dispatch)。
该模块提供了一个通用的双重分派表,允许根据两个对象的运行时类型, 动态调用对应的处理函数。常用于碰撞检测、事件分发等场景。 使用方式:创建 Table<BaseType> 实例,注册类型对对应的处理函数, 然后通过 call() 方法自动根据两个对象的实际类型调用相应函数。