Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
collide.h File Reference

在运行时实现双重分派(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
 本库所有组件所在的顶层命名空间。

Detailed Description

在运行时实现双重分派(double dispatch)。

该模块提供了一个通用的双重分派表,允许根据两个对象的运行时类型, 动态调用对应的处理函数。常用于碰撞检测、事件分发等场景。 使用方式:创建 Table<BaseType> 实例,注册类型对对应的处理函数, 然后通过 call() 方法自动根据两个对象的实际类型调用相应函数。

Author
MrXie1109
Date
2026