17 #include <type_traits>
21 inline namespace _V1 {
22 namespace ext::intel::experimental {
26 template <
typename T,
typename PropertyListT =
32 "Property list is invalid.");
37 template <
typename T,
typename... Props>
39 #ifdef __SYCL_DEVICE_ONLY__
40 [[__sycl_detail__::add_ir_attributes_global_variable(
50 #ifdef __SYCL_DEVICE_ONLY__
54 [[__sycl_detail__::add_ir_annotations_member(
69 template <
typename... S> constexpr
fpga_mem(S... args) : val{args...} {}
86 constexpr
operator const T &()
const noexcept {
return get(); }
98 template <
typename propertyT>
static constexpr
bool has_property() {
100 Props...>::template has_property<propertyT>();
105 Props...>::template get_property<propertyT>();
static constexpr bool has_property()
constexpr fpga_mem(S... args)
std::remove_extent_t< T > element_type
fpga_mem(const fpga_mem &)=default
fpga_mem & operator=(fpga_mem &&)=default
fpga_mem & operator=(const T &newValue) noexcept
fpga_mem & operator=(const fpga_mem &)=default
fpga_mem(fpga_mem &&)=default
constexpr const T & get() const noexcept
static constexpr auto get_property()
decltype(properties{}) empty_properties_t
_Abi const simd< _Tp, _Abi > & noexcept