11#ifdef ALPAKA_ACC_SYCL_ENABLED 
   16    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   17    struct ConstBufType<DevGenericSycl<TTag>, TElem, TDim, TIdx>
 
   19        using type = ConstBufGenericSycl<TElem, TDim, TIdx, TTag>;
 
   23    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   24    struct DevType<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   26        using type = DevGenericSycl<TTag>;
 
   30    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   31    struct GetDev<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   35            return buf.m_spBufImpl->m_dev;
 
   40    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   41    struct DimType<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   47    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   48    struct ElemType<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   50        using type = TElem 
const;
 
   54    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   55    struct GetExtents<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   57        ALPAKA_FN_HOST auto operator()(ConstBufGenericSycl<TElem, TDim, TIdx, TTag> 
const& buf)
 const 
   59            return buf.m_spBufImpl->m_extentElements;
 
   64    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   65    struct GetPtrNative<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   70            return buf.m_spBufImpl->m_pMem;
 
   75    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   76    struct GetPtrDev<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>, DevGenericSycl<TTag>>
 
   79            ConstBufGenericSycl<TElem, TDim, TIdx, TTag> 
const& buf,
 
   80            DevGenericSycl<TTag> 
const& dev) -> TElem 
const*
 
   84                return buf.m_spBufImpl->m_pMem;
 
   88                throw std::runtime_error(
"The buffer is not accessible from the given device!");
 
   94    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
   95    struct GetOffsets<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
   97        ALPAKA_FN_HOST auto operator()(ConstBufGenericSycl<TElem, TDim, TIdx, TTag> 
const&) 
const -> Vec<TDim, TIdx>
 
  104    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
  105    struct IdxType<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
  111    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
  112    struct GetPtrDev<BufCpu<TElem, TDim, TIdx>, DevGenericSycl<TTag>>
 
  114        static auto getPtrDev(BufCpu<TElem, TDim, TIdx> 
const& buf, DevGenericSycl<TTag> 
const&) -> TElem 
const*
 
  121    template<
typename TElem, 
typename TDim, 
typename TIdx, concepts::Tag TTag>
 
  122    struct MakeConstBuf<ConstBufGenericSycl<TElem, TDim, TIdx, TTag>>
 
  125            -> ConstBufGenericSycl<TElem, TDim, TIdx, TTag>
 
  131            -> ConstBufGenericSycl<TElem, TDim, TIdx, TTag>
 
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC constexpr auto zeros() -> Vec< TDim, TVal >
Zero value constructor.
 
ALPAKA_FN_HOST auto makeConstBuf(TBuf const &buf)
Creates a constant buffer from the given mutable buffer.
 
ALPAKA_FN_HOST auto getPtrNative(TView const &view) -> Elem< TView > const *
Gets the native pointer of the memory view.
 
ALPAKA_FN_HOST auto getDev(T const &t)
 
ALPAKA_FN_HOST auto getPtrDev(TView const &view, TDev const &dev) -> Elem< TView > const *
Gets the pointer to the view on the given device.