【发布时间】:2020-07-31 08:53:40
【问题描述】:
我需要一个针对给定完整类类型返回其模板的元函数(例如,f<foo<bar>>::type 或 f<foo<baz>>::type 导致 foo)。
或者它可能会在 f<foo<bar>, foo<baz>>::value 上返回 true 和在 f<foo<bar>, not_foo<baz>>::value 上返回 false
P.S:这意味着要与许多类似 chrono::duration 的类一起使用(但用于重量单位、质量单位等)。我需要不同的单位而不是将一个单位转换为另一个单位。
【问题讨论】:
-
或者它可能在
f<foo<bar>, foo<baz>>::value和false上返回truef<foo1<bar>, foo2<bar>>::value -
您在寻找
decltype吗? -
你可以edit你的问题而不是添加cmets。
-
decltype将导致完整类型foo<bar>而不是foo -
获得
true和false的类型特征可以完成,获得foo无需先提及我不确定它是否可能。is_instantiation_of_foo < foo<bar> >就足够了吗?
标签: c++ c++11 templates metaprogramming template-meta-programming