小编Nic*_*ert的帖子

如何在可变参数类模板中获取类型的索引?

我有一个可变的Engine模板类:

template <typename ... Components> class Engine;
Run Code Online (Sandbox Code Playgroud)

我想在编译时为每个组件分配一个数字,这相当于它们的排序.拨打以下电话时会返回此信息:

template <typename Component> int ordinal();
Run Code Online (Sandbox Code Playgroud)

例如,如果:

Engine<PositionComponent, PhysicsComponent, InputComponent> engine;
Run Code Online (Sandbox Code Playgroud)

宣布,电话:

engine.ordinal<PhysicsComponent>();
Run Code Online (Sandbox Code Playgroud)

将返回1并且使用InputComponent而不是PhysicsComponent的类似调用将返回2.

是否可能,如果是的话,怎么会这样呢?

c++ variadic-templates c++11

5
推荐指数
1
解决办法
1571
查看次数

标签 统计

c++ ×1

c++11 ×1

variadic-templates ×1