【发布时间】:2011-12-29 17:44:34
【问题描述】:
我有一个函数,我想对类型列表中的所有类型执行(当前由 mpl 列表表示 --- 这甚至是一种合理的处理方式吗?)
这里的关键是函数只关心类型,不关心实际数据;它调用该类型的静态函数来检索一些信息,然后将其推送到哈希表中以供以后参考。
然而,据我所知,mpl 没有这样做的方法——我能找到的最接近的是 mpl for_each 运算符,但它似乎希望用于每个运算符的实际实例化类型,而不是类型本身。
Loki 库有一个“应用”函数,这或多或少是我正在寻找的——它通过将指向类型列表中的类型的指针作为参数传递来帮助推导,从而解决了实例化问题,但是没有进行完整的实例化。我应该在 MPL 中查看什么来获得该功能?还是我遗漏了一些明显的东西?
【问题讨论】:
-
你会用 C++11 吗?如果不是,我相信 MPL 是唯一不需要重新发明一切的方法。 (或者你可以使用宏......)
-
@Kenny:我认为关键在于 MPL 确实不提供这里想要的功能。