与Clang的__type_pack_element等效的GCC(在任何版本中),以获取模板参数包的第N个元素

zrb*_*zrb 5 c++ gcc intrinsics variadic-templates

https://reviews.llvm.org/D15421

clang具有__type_pack_element允许在可变参数模板中对参数包进行有效索引的功能。是否有等效的GCC?

我对使用不感兴趣tuple_element_t。我正在寻找一种替代方法,它是编译器原语

odi*_*erd 7

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

基准

执行

关于它的旧博客文章