GCC(在任何版本中)相当于clang的__type_pack_element来获取模板参数包的第N个元素

时间:2017-02-07 17:54:45

标签: c++ gcc variadic-templates intrinsics

https://reviews.llvm.org/D15421

clang具有__type_pack_element,允许在可变参数模板中有效索引参数包。是否有GCC等价物?

我对使用tuple_element_t不感兴趣。我正在寻找一个编译原语

的替代方案

1 个答案:

答案 0 :(得分:2)

如果你真的很勇敢/疯狂,你可以尝试使用与kvasir :: mpl相同的技术解决这个问题。在metaben.ch基准测试中,它与使用__type_pack_element并在GCC上工作的其他人相同或更快(请注意,基准测试会查看每个元素,如果你只是索引一些它会看起来很不一样,但通常如果你想要一个,那么你最终也想要其他人)。

benchmark

implementation

old blog post about it