Skip to content

Commit 95682f1

Browse files
committed
Rename and clarify AllUnique type-trait
Signed-off-by: Steffen Larsen <[email protected]>
1 parent 294efcb commit 95682f1

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

sycl/include/sycl/ext/oneapi/properties/properties.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ template <typename PropertiesT> class properties {
132132
"Unrecognized property in property list.");
133133
static_assert(detail::IsSorted<PropertiesT>::value,
134134
"Properties in property list are not sorted.");
135-
static_assert(detail::AllUnique<PropertiesT>::value,
135+
static_assert(detail::SortedAllUnique<PropertiesT>::value,
136136
"Duplicate properties in property list.");
137137

138138
public:

sycl/include/sycl/ext/oneapi/properties/property_utils.hpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,6 @@ template <typename T, typename U = int> struct HasValue : std::false_type {};
4848
template <typename T>
4949
struct HasValue<T, decltype((void)T::value, 0)> : std::true_type {};
5050

51-
// Checks that all types in a tuple have unique PropertyID.
52-
template <typename T> struct AllUnique {};
53-
template <typename... Ts>
54-
struct AllUnique<std::tuple<Ts...>> : std::true_type {};
55-
template <typename T> struct AllUnique<std::tuple<T>> : std::true_type {};
56-
template <typename L, typename R, typename... Rest>
57-
struct AllUnique<std::tuple<L, R, Rest...>>
58-
: sycl::detail::conditional_t<PropertyID<L>::value != PropertyID<R>::value,
59-
AllUnique<std::tuple<R, Rest...>>,
60-
std::false_type> {};
61-
6251
//******************************************************************************
6352
// Property identification
6453
//******************************************************************************
@@ -213,6 +202,17 @@ struct IsSorted<std::tuple<L, R, Rest...>>
213202
IsSorted<std::tuple<R, Rest...>>,
214203
std::false_type> {};
215204

205+
// Checks that all types in a sorted tuple have unique PropertyID.
206+
template <typename T> struct SortedAllUnique {};
207+
template <typename... Ts>
208+
struct SortedAllUnique<std::tuple<Ts...>> : std::true_type {};
209+
template <typename T> struct SortedAllUnique<std::tuple<T>> : std::true_type {};
210+
template <typename L, typename R, typename... Rest>
211+
struct SortedAllUnique<std::tuple<L, R, Rest...>>
212+
: sycl::detail::conditional_t<PropertyID<L>::value != PropertyID<R>::value,
213+
SortedAllUnique<std::tuple<R, Rest...>>,
214+
std::false_type> {};
215+
216216
} // namespace detail
217217
} // namespace experimental
218218
} // namespace oneapi

0 commit comments

Comments
 (0)