Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions sycl/include/sycl/detail/generic_type_traits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,29 +253,6 @@ template <typename T> inline constexpr bool msbIsSet(const T x) {
return (x & msbMask(x));
}

// Try to get vector element count or 1 otherwise
template <typename T> struct GetNumElements {
static constexpr int value = 1;
};
template <typename Type, int NumElements>
struct GetNumElements<typename sycl::vec<Type, NumElements>> {
static constexpr int value = NumElements;
};

// TryToGetElementType<T>::type is T::element_type or T::value_type if those
// exist, otherwise T.
template <typename T> class TryToGetElementType {
static T check(...);
template <typename A> static typename A::element_type check(const A &);
template <typename A, typename = std::enable_if_t<!std::is_same_v<
typename A::element_type, typename A::value_type>>>
static typename A::value_type check(const A &);

public:
using type = decltype(check(T()));
static constexpr bool value = !std::is_same_v<T, type>;
};

template <typename T> static constexpr T max_v() {
return (std::numeric_limits<T>::max)();
}
Expand Down
26 changes: 0 additions & 26 deletions sycl/include/sycl/detail/type_traits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -375,32 +375,6 @@ struct is_multi_ptr<multi_ptr<ElementType, Space, IsDecorated>>
template <class T>
inline constexpr bool is_multi_ptr_v = is_multi_ptr<T>::value;

// is_non_legacy_multi_ptr
template <typename T> struct is_non_legacy_multi_ptr : std::false_type {};

template <typename ElementType, access::address_space Space>
struct is_non_legacy_multi_ptr<
multi_ptr<ElementType, Space, access::decorated::yes>> : std::true_type {};

template <typename ElementType, access::address_space Space>
struct is_non_legacy_multi_ptr<
multi_ptr<ElementType, Space, access::decorated::no>> : std::true_type {};

template <class T>
inline constexpr bool is_non_legacy_multi_ptr_v =
is_non_legacy_multi_ptr<T>::value;

// is_legacy_multi_ptr
template <typename T> struct is_legacy_multi_ptr : std::false_type {};

template <typename ElementType, access::address_space Space>
struct is_legacy_multi_ptr<
multi_ptr<ElementType, Space, access::decorated::legacy>> : std::true_type {
};

template <class T>
inline constexpr bool is_legacy_multi_ptr_v = is_legacy_multi_ptr<T>::value;

// remove_pointer_t
template <typename T> struct remove_pointer_impl {
using type = T;
Expand Down
Loading