@@ -31,58 +31,59 @@ struct is_empty_type_list
3131
3232template <> struct type_list <> {};
3333
34- template <typename H , typename ... T > struct type_list <H, T ...> {
35- using head = H ;
36- using tail = type_list<T ...>;
34+ template <typename Head , typename ... Tail > struct type_list <Head, Tail ...> {
35+ using head = Head ;
36+ using tail = type_list<Tail ...>;
3737};
3838
39- template <typename H , typename ... T , typename ... T2 >
40- struct type_list <type_list<H, T ...>, T2 ...> {
39+ template <typename Head , typename ... Tail , typename ... Tail2 >
40+ struct type_list <type_list<Head, Tail ...>, Tail2 ...> {
4141private:
42- using remainder = tail_t <type_list<H >>;
42+ using remainder = tail_t <type_list<Head >>;
4343 static constexpr bool has_remainder = !is_empty_type_list<remainder>::value;
44- using without_remainder = type_list<T ..., T2 ...>;
45- using with_remainder = type_list<remainder, T ..., T2 ...>;
44+ using without_remainder = type_list<Tail ..., Tail2 ...>;
45+ using with_remainder = type_list<remainder, Tail ..., Tail2 ...>;
4646
4747public:
48- using head = head_t <type_list<H >>;
48+ using head = head_t <type_list<Head >>;
4949 using tail = conditional_t <has_remainder, with_remainder, without_remainder>;
5050};
5151
5252// is_contained
53- template <typename T, typename L >
53+ template <typename T, typename TypeList >
5454struct is_contained
55- : conditional_t <std::is_same<remove_cv_t <T>, head_t <L >>::value,
56- std::true_type, is_contained<T, tail_t <L >>> {};
55+ : conditional_t <std::is_same<remove_cv_t <T>, head_t <TypeList >>::value,
56+ std::true_type, is_contained<T, tail_t <TypeList >>> {};
5757
5858template <typename T>
5959struct is_contained <T, empty_type_list> : std::false_type {};
6060
6161// value_list
62- template <typename T, T... V > struct value_list ;
62+ template <typename T, T... Values > struct value_list ;
6363
64- template <typename T, T H , T... V > struct value_list <T, H, V ...> {
65- static constexpr T head = H ;
66- using tail = value_list<T, V ...>;
64+ template <typename T, T Head , T... Tail > struct value_list <T, Head, Tail ...> {
65+ static constexpr T head = Head ;
66+ using tail = value_list<T, Tail ...>;
6767};
6868
6969template <typename T> struct value_list <T> {};
7070
7171// is_contained_value
72- template <typename T, T V , typename TL >
72+ template <typename T, T Value , typename ValueList >
7373struct is_contained_value
74- : conditional_t <V == TL ::head, std::true_type,
75- is_contained_value<T, V , tail_t <TL >>> {};
74+ : conditional_t <Value == ValueList ::head, std::true_type,
75+ is_contained_value<T, Value , tail_t <ValueList >>> {};
7676
77- template <typename T, T V >
78- struct is_contained_value <T, V , value_list<T>> : std::false_type {};
77+ template <typename T, T Value >
78+ struct is_contained_value <T, Value , value_list<T>> : std::false_type {};
7979
8080// address_space_list
81- template <access::address_space... V >
82- using address_space_list = value_list<access::address_space, V ...>;
81+ template <access::address_space... Values >
82+ using address_space_list = value_list<access::address_space, Values ...>;
8383
84- template <access::address_space AS, typename VL>
85- using is_one_of_spaces = is_contained_value<access::address_space, AS, VL>;
84+ template <access::address_space AddressSpace, typename ValueList>
85+ using is_one_of_spaces =
86+ is_contained_value<access::address_space, AddressSpace, ValueList>;
8687
8788// size type predicates
8889template <typename T1, typename T2>
@@ -103,35 +104,39 @@ struct is_type_size_half_of : bool_constant<(sizeof(T1) == (sizeof(T2) / 2))> {
103104};
104105
105106// find required type
106- template <typename TL, template <typename , typename > class C , typename T>
107+ template <typename TypeList, template <typename , typename > class Comp ,
108+ typename T>
107109struct find_type {
108- using head = head_t <TL >;
109- using tail = typename find_type<tail_t <TL >, C , T>::type;
110- using type = conditional_t <C <head, T>::value, head, tail>;
110+ using head = head_t <TypeList >;
111+ using tail = typename find_type<tail_t <TypeList >, Comp , T>::type;
112+ using type = conditional_t <Comp <head, T>::value, head, tail>;
111113};
112114
113- template <template <typename , typename > class C , typename T>
114- struct find_type <empty_type_list, C , T> {
115+ template <template <typename , typename > class Comp , typename T>
116+ struct find_type <empty_type_list, Comp , T> {
115117 using type = void ;
116118};
117119
118- template <typename TL, template <typename , typename > class C , typename T>
119- using find_type_t = typename find_type<TL, C, T>::type;
120+ template <typename TypeList, template <typename , typename > class Comp ,
121+ typename T>
122+ using find_type_t = typename find_type<TypeList, Comp, T>::type;
120123
121- template <typename TL , typename T>
122- using find_same_size_type_t = find_type_t <TL , is_type_size_equal, T>;
124+ template <typename TypeList , typename T>
125+ using find_same_size_type_t = find_type_t <TypeList , is_type_size_equal, T>;
123126
124- template <typename TL , typename T>
125- using find_smaller_type_t = find_type_t <TL , is_type_size_less, T>;
127+ template <typename TypeList , typename T>
128+ using find_smaller_type_t = find_type_t <TypeList , is_type_size_less, T>;
126129
127- template <typename TL , typename T>
128- using find_larger_type_t = find_type_t <TL , is_type_size_greater, T>;
130+ template <typename TypeList , typename T>
131+ using find_larger_type_t = find_type_t <TypeList , is_type_size_greater, T>;
129132
130- template <typename TL, typename T>
131- using find_twice_as_small_type_t = find_type_t <TL, is_type_size_half_of, T>;
133+ template <typename TypeList, typename T>
134+ using find_twice_as_small_type_t =
135+ find_type_t <TypeList, is_type_size_half_of, T>;
132136
133- template <typename TL, typename T>
134- using find_twice_as_large_type_t = find_type_t <TL, is_type_size_double_of, T>;
137+ template <typename TypeList, typename T>
138+ using find_twice_as_large_type_t =
139+ find_type_t <TypeList, is_type_size_double_of, T>;
135140
136141} // namespace detail
137142} // namespace sycl
0 commit comments