15 #include <type_traits>
28 #if __cplusplus >= 201703L
39 constexpr
const auto &no_init =
65 #if __cplusplus >= 201703L
67 inline constexpr property::buffer_location::instance<A> buffer_location{};
97 #if __cplusplus >= 201703L
99 inline constexpr property::no_offset::instance no_offset;
100 inline constexpr property::no_alias::instance no_alias;
119 typename PropertyListT>
124 template <
typename DataT,
int Dimensions, access::mode AccessMode>
128 template <>
struct is_property<property::noinit> : std::true_type {};
129 template <>
struct is_property<property::no_init> : std::true_type {};
131 struct is_property<ext::oneapi::property::no_offset> : std::true_type {};
133 struct is_property<ext::oneapi::property::no_alias> : std::true_type {};
135 struct is_property<ext::intel::property::buffer_location> : std::true_type {};
139 typename PropertyListT>
141 accessor<DataT, Dimensions, AccessMode, AccessTarget,
142 IsPlaceholder, PropertyListT>> : std::true_type {
146 typename PropertyListT>
148 accessor<DataT, Dimensions, AccessMode, AccessTarget,
149 IsPlaceholder, PropertyListT>> : std::true_type {
153 typename PropertyListT>
155 accessor<DataT, Dimensions, AccessMode, AccessTarget,
156 IsPlaceholder, PropertyListT>> : std::true_type {
160 typename PropertyListT>
162 accessor<DataT, Dimensions, AccessMode, AccessTarget,
163 IsPlaceholder, PropertyListT>> : std::true_type {
167 typename PropertyListT>
169 accessor<DataT, Dimensions, AccessMode, AccessTarget,
170 IsPlaceholder, PropertyListT>> : std::true_type {
177 image_accessor<DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder>>
183 image_accessor<DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder>>
186 template <
typename DataT,
int Dimensions, access::mode AccessMode>
190 template <
typename DataT,
int Dimensions, access::mode AccessMode>
198 ext::intel::property::buffer_location::instance<I>> : std::true_type {};
201 ext::oneapi::property::no_alias::instance<>> : std::true_type {};
204 ext::oneapi::property::no_offset::instance<>> : std::true_type {};