rttr模板技巧

1 模板参数表指定类型判断

  • rttr/detail/misc/misc_type_traits.h

判断一个类型是不是在类型列表中

比如有这样一个场景,有 as_raw_pointer, as_object, as_std_shared_ptr 三种类型,需要判断用户模板传入的一个类型是不是这三个其中的一个。

struct as_raw_pointer {};
struct as_object {};
struct as_std_shared_ptr {};

using constructor_policy_list = type_list<as_raw_pointer, as_object, as_std_shared_ptr>;

// 希望得到的方式
template <T>
struct Check {
    // 比如这里需要判断这个T是不是 as_raw_pointer, as_object, as_std_shared_ptr 其中的一种。
}
阅读更多 »1 模板参数表指定类型判断