有没有办法从其完整类型中获取模板类的类型?

侯因因·朱玛

我需要一个用于给定完整类类型的元函数,以返回其模板(例如f<foo<bar>>::typef<foo<baz>>::type结果为foo)。

或者,它可能会返回truef<foo<bar>, foo<baz>>::valuefalsef<foo<bar>, not_foo<baz>>::value

PS:这意味着可以与许多chrono :: duration一样的类使用(但适用于重量单位,质量单位等)。我需要不同的单位,而不是彼此转换。

贾罗德42

f<foo<bar>>::type or f<foo<baz>>::type results in foo

不完全是(请参阅“别名模板认为等同于相同模板”),您可以执行以下操作:

template <typename T> struct template_class;

template <template <typename> class C, typename T>
struct template_class<C<T>>
{
    template <typename U>
    using type = C<U>;
};

否则可能会在truef<foo<bar>, foo<baz>>::value和false上返回truef<foo<bar>, not_foo<baz>>::value

即使是有限的,专业化也比较容易,尽管主要是is_same

template <typename, typename> struct has_same_template_class : std::false_type{};

template <template<typename> class C, typename T1, typename T2>
struct has_same_template_class<C<T1>, C<T2>> : std::true_type{};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法将输入类型包装到C ++中的模板类?

来自分类Dev

有没有办法在基类的函数中获取派生类的类型?

来自分类Dev

有没有办法确定模板类的模板参数类型?

来自分类Dev

有没有办法在匿名类型上调用模板化类?

来自分类Dev

有没有办法根据模板参数的类型在不同的类实现之间进行选择?

来自分类Dev

有没有办法在 Kotlin 中获取继承接口(或另一个类)的对象类型?

来自分类Dev

有没有办法在C ++中隐式地匹配嵌套模板类型?

来自分类Dev

Java:有没有办法在枚举中获取具有不同返回类型的方法?

来自分类Dev

有没有办法从扩展方法中获取通用类型?

来自分类Dev

有没有办法使用其REST API从JBPM 7获取完整的任务

来自分类Dev

有没有办法在不明确指定其类型的情况下接受 cython 函数中的参数?

来自分类Dev

有没有办法将枚举rawValue强制转换为其类型?

来自分类Dev

有没有办法在指向类类型的指针中不使用*来调用类运算符?

来自分类Dev

有没有办法打印当前类中复合数据类型的所有属性

来自分类Dev

有没有办法声明作为派生类类型的抽象基类的成员?

来自分类Dev

有没有办法提示用户哪种数据类型用作模板C ++

来自分类Dev

Typescript:有没有办法在模板文字类型值中使用变量?

来自分类Dev

有没有办法恢复boost mpl引用中嵌入的原始模板模板类?

来自分类Dev

有没有办法获取派生类型的所有组件?

来自分类Dev

在Kotlin中覆盖超类的属性时,有没有办法声明更特定的泛型类型?

来自分类Dev

有没有办法引用类型的构造函数?

来自分类Dev

有没有办法从IO monad解开类型?

来自分类Dev

有没有办法从IO monad解开类型?

来自分类Dev

有没有办法返回作为子类的类型?

来自分类Dev

biopython有没有办法从发表的文章中获取完整的摘要?

来自分类Dev

有没有办法将Java集合与扩展类类型一起使用?

来自分类Dev

许多 XSD 共享元素和类型 - 有没有办法生成类?(C#)

来自分类Dev

PHP:有没有办法获取方法的返回类型?

来自分类Dev

有没有办法从非静态方法获取参数类型?

Related 相关文章

  1. 1

    有没有办法将输入类型包装到C ++中的模板类?

  2. 2

    有没有办法在基类的函数中获取派生类的类型?

  3. 3

    有没有办法确定模板类的模板参数类型?

  4. 4

    有没有办法在匿名类型上调用模板化类?

  5. 5

    有没有办法根据模板参数的类型在不同的类实现之间进行选择?

  6. 6

    有没有办法在 Kotlin 中获取继承接口(或另一个类)的对象类型?

  7. 7

    有没有办法在C ++中隐式地匹配嵌套模板类型?

  8. 8

    Java:有没有办法在枚举中获取具有不同返回类型的方法?

  9. 9

    有没有办法从扩展方法中获取通用类型?

  10. 10

    有没有办法使用其REST API从JBPM 7获取完整的任务

  11. 11

    有没有办法在不明确指定其类型的情况下接受 cython 函数中的参数?

  12. 12

    有没有办法将枚举rawValue强制转换为其类型?

  13. 13

    有没有办法在指向类类型的指针中不使用*来调用类运算符?

  14. 14

    有没有办法打印当前类中复合数据类型的所有属性

  15. 15

    有没有办法声明作为派生类类型的抽象基类的成员?

  16. 16

    有没有办法提示用户哪种数据类型用作模板C ++

  17. 17

    Typescript:有没有办法在模板文字类型值中使用变量?

  18. 18

    有没有办法恢复boost mpl引用中嵌入的原始模板模板类?

  19. 19

    有没有办法获取派生类型的所有组件?

  20. 20

    在Kotlin中覆盖超类的属性时,有没有办法声明更特定的泛型类型?

  21. 21

    有没有办法引用类型的构造函数?

  22. 22

    有没有办法从IO monad解开类型?

  23. 23

    有没有办法从IO monad解开类型?

  24. 24

    有没有办法返回作为子类的类型?

  25. 25

    biopython有没有办法从发表的文章中获取完整的摘要?

  26. 26

    有没有办法将Java集合与扩展类类型一起使用?

  27. 27

    许多 XSD 共享元素和类型 - 有没有办法生成类?(C#)

  28. 28

    PHP:有没有办法获取方法的返回类型?

  29. 29

    有没有办法从非静态方法获取参数类型?

热门标签

归档