DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl_span.hpp File Reference
#include <array>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <type_traits>
#include <utility>
Include dependency graph for sycl_span.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::__is_span_impl< _Tp >
 
struct  sycl::_V1::__is_span_impl< span< _Tp, _Extent > >
 
struct  sycl::_V1::__is_span< _Tp >
 
struct  sycl::_V1::__is_std_array_impl< _Tp >
 
struct  sycl::_V1::__is_std_array_impl< std::array< _Tp, _Sz > >
 
struct  sycl::_V1::__is_std_array< _Tp >
 
struct  sycl::_V1::__is_span_compatible_container< _Tp, _ElementType, class >
 
struct  sycl::_V1::__is_span_compatible_container< _Tp, _ElementType, std::void_t< typename std::enable_if<!__is_span< _Tp >::value, std::nullptr_t >::type, typename std::enable_if<!__is_std_array< _Tp >::value, std::nullptr_t >::type, typename std::enable_if<!std::is_array_v< _Tp >, std::nullptr_t >::type, decltype(data(std::declval< _Tp >())), decltype(size(std::declval< _Tp >())), typename std::enable_if< std::is_convertible_v< std::remove_pointer_t< decltype(data(std::declval< _Tp & >()))>(*)[], _ElementType(*)[]>, std::nullptr_t >::type > >
 
class  sycl::_V1::span< _Tp, _Extent >
 
class  sycl::_V1::span< _Tp, dynamic_extent >
 

Namespaces

 sycl
 
 sycl::_V1
 

Macros

#define _SYCL_SPAN_TEMPLATE_VIS
 
#define _SYCL_SPAN_INLINE_VISIBILITY   inline
 
#define _SYCL_SPAN_ASSERT(x, m)   assert(((x) && m))
 

Functions

template<class _Tp , size_t _Extent>
_SYCL_SPAN_INLINE_VISIBILITY auto sycl::_V1::as_bytes (span< _Tp, _Extent > __s) noexcept -> decltype(__s.__as_bytes())
 
template<class _Tp , size_t _Extent>
_SYCL_SPAN_INLINE_VISIBILITY auto sycl::_V1::as_writable_bytes (span< _Tp, _Extent > __s) noexcept -> std::enable_if_t<!std::is_const_v< _Tp >, decltype(__s.__as_writable_bytes())>
 
template<class _Tp , size_t _Sz>
 sycl::_V1::span (_Tp(&)[_Sz]) -> span< _Tp, _Sz >
 
template<class _Tp , size_t _Sz>
 sycl::_V1::span (std::array< _Tp, _Sz > &) -> span< _Tp, _Sz >
 
template<class _Tp , size_t _Sz>
 sycl::_V1::span (const std::array< _Tp, _Sz > &) -> span< const _Tp, _Sz >
 
template<class _Container >
 sycl::_V1::span (_Container &) -> span< typename _Container::value_type >
 
template<class _Container >
 sycl::_V1::span (const _Container &) -> span< const typename _Container::value_type >
 

Variables

constexpr size_t sycl::_V1::dynamic_extent = SIZE_MAX
 

Macro Definition Documentation

◆ _SYCL_SPAN_ASSERT

#define _SYCL_SPAN_ASSERT (   x,
 
)    assert(((x) && m))

Definition at line 149 of file sycl_span.hpp.

◆ _SYCL_SPAN_INLINE_VISIBILITY

#define _SYCL_SPAN_INLINE_VISIBILITY   inline

Definition at line 136 of file sycl_span.hpp.

◆ _SYCL_SPAN_TEMPLATE_VIS

#define _SYCL_SPAN_TEMPLATE_VIS

Definition at line 135 of file sycl_span.hpp.