22 inline namespace _V1 {
48 #ifdef __SYCL_DEVICE_ONLY__
49 class __SYCL_EXPORT sampler_impl {
51 sampler_impl() =
default;
55 ~sampler_impl() =
default;
73 const property_list &propList = {});
75 #ifdef __SYCL_INTERNAL_API
76 sampler(cl_sampler clSampler,
const context &syclContext);
79 sampler(
const sampler &rhs) =
default;
81 sampler(sampler &&rhs) =
default;
83 sampler &
operator=(
const sampler &rhs) =
default;
85 sampler &
operator=(sampler &&rhs) =
default;
95 return getPropList().template has_property<propertyT>();
104 template <
typename propertyT> propertyT
get_property()
const {
105 return getPropList().template get_property<propertyT>();
115 #ifdef __SYCL_DEVICE_ONLY__
116 detail::sampler_impl impl;
118 char padding[
sizeof(std::shared_ptr<detail::sampler_impl>) -
sizeof(impl)];
125 std::shared_ptr<detail::sampler_impl> impl;
127 friend const decltype(Obj::impl) &
133 friend class detail::image_accessor;
135 const property_list &getPropList()
const;
149 template <>
struct hash<
sycl::sampler> {
151 #ifdef __SYCL_DEVICE_ONLY__
155 return hash<std::shared_ptr<sycl::detail::sampler_impl>>()(
#define __SYCL_SPECIAL_CLASS
class __SYCL_EBO __SYCL_SPECIAL_CLASS __SYCL_TYPE(accessor) accessor< DataT
Image accessors.
decltype(Obj::impl) const & getSyclObjImpl(const Obj &SyclObject)
bool operator==(const cache_config &lhs, const cache_config &rhs)
bool operator!=(const cache_config &lhs, const cache_config &rhs)
static constexpr bool has_property()
static constexpr auto get_property()
coordinate_normalization_mode
class __SYCL_EBO __SYCL_SPECIAL_CLASS Dimensions
class __SYCL_EBO __SYCL_SPECIAL_CLASS IsPlaceholder
PropertyListT int access::address_space multi_ptr & operator=(multi_ptr &&)=default
class __SYCL_EBO __SYCL_SPECIAL_CLASS AccessMode
_Abi const simd< _Tp, _Abi > & noexcept
size_t operator()(const sycl::sampler &s) const
addressing_mode addressing
coordinate_normalization_mode coordinate