DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::span< _Tp, dynamic_extent > Class Template Reference

#include <sycl/sycl_span.hpp>

Collaboration diagram for sycl::_V1::span< _Tp, dynamic_extent >:

Public Types

using element_type = _Tp
 
using value_type = std::remove_cv_t< _Tp >
 
using size_type = size_t
 
using difference_type = ptrdiff_t
 
using pointer = _Tp *
 
using const_pointer = const _Tp *
 
using reference = _Tp &
 
using const_reference = const _Tp &
 
using iterator = pointer
 
using rev_iterator = std::reverse_iterator< pointer >
 

Public Member Functions

constexpr _SYCL_SPAN_INLINE_VISIBILITY span () noexcept
 
constexpr span (const span &) noexcept=default
 
constexpr spanoperator= (const span &) noexcept=default
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (pointer __ptr, size_type __count)
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (pointer __f, pointer __l)
 
template<size_t _Sz>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (element_type(&__arr)[_Sz]) noexcept
 
template<class _OtherElementType , size_t _Sz, std::enable_if_t< std::is_convertible_v< _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t > = nullptr>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (std::array< _OtherElementType, _Sz > &__arr) noexcept
 
template<class _OtherElementType , size_t _Sz, std::enable_if_t< std::is_convertible_v< const _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t > = nullptr>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (const std::array< _OtherElementType, _Sz > &__arr) noexcept
 
template<class _Container >
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (_Container &__c, std::enable_if_t< __is_span_compatible_container< _Container, _Tp >::value, std::nullptr_t >=nullptr)
 
template<class _Container >
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (const _Container &__c, std::enable_if_t< __is_span_compatible_container< const _Container, _Tp >::value, std::nullptr_t >=nullptr)
 
template<class _OtherElementType , size_t _OtherExtent>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span (const span< _OtherElementType, _OtherExtent > &__other, std::enable_if_t< std::is_convertible_v< _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t >=nullptr) noexcept
 
template<size_t _Count>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span< element_type, _Count > first () const noexcept
 
template<size_t _Count>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span< element_type, _Count > last () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY span< element_type, dynamic_extentfirst (size_type __count) const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY span< element_type, dynamic_extentlast (size_type __count) const noexcept
 
template<size_t _Offset, size_t _Count = dynamic_extent>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span< element_type, _Count > subspan () const noexcept
 
constexpr span< element_type, dynamic_extent > _SYCL_SPAN_INLINE_VISIBILITY subspan (size_type __offset, size_type __count=dynamic_extent) const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY size_type size () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY size_type size_bytes () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY bool empty () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference operator[] (size_type __idx) const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference front () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference back () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY pointer data () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY iterator begin () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY iterator end () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY rev_iterator rbegin () const noexcept
 
constexpr _SYCL_SPAN_INLINE_VISIBILITY rev_iterator rend () const noexcept
 
_SYCL_SPAN_INLINE_VISIBILITY span< const byte, dynamic_extent__as_bytes () const noexcept
 
_SYCL_SPAN_INLINE_VISIBILITY span< byte, dynamic_extent__as_writable_bytes () const noexcept
 

Static Public Attributes

static constexpr size_type extent = dynamic_extent
 

Detailed Description

template<typename _Tp>
class sycl::_V1::span< _Tp, dynamic_extent >

Definition at line 413 of file sycl_span.hpp.

Member Typedef Documentation

◆ const_pointer

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::const_pointer = const _Tp *

Definition at line 422 of file sycl_span.hpp.

◆ const_reference

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::const_reference = const _Tp &

Definition at line 424 of file sycl_span.hpp.

◆ difference_type

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::difference_type = ptrdiff_t

Definition at line 420 of file sycl_span.hpp.

◆ element_type

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::element_type = _Tp

Definition at line 417 of file sycl_span.hpp.

◆ iterator

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::iterator = pointer

Definition at line 425 of file sycl_span.hpp.

◆ pointer

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::pointer = _Tp *

Definition at line 421 of file sycl_span.hpp.

◆ reference

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::reference = _Tp &

Definition at line 423 of file sycl_span.hpp.

◆ rev_iterator

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::rev_iterator = std::reverse_iterator<pointer>

Definition at line 426 of file sycl_span.hpp.

◆ size_type

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::size_type = size_t

Definition at line 419 of file sycl_span.hpp.

◆ value_type

template<typename _Tp >
using sycl::_V1::span< _Tp, dynamic_extent >::value_type = std::remove_cv_t<_Tp>

Definition at line 418 of file sycl_span.hpp.

Constructor & Destructor Documentation

◆ span() [1/10]

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( )
inlineconstexprnoexcept

Definition at line 431 of file sycl_span.hpp.

◆ span() [2/10]

template<typename _Tp >
constexpr sycl::_V1::span< _Tp, dynamic_extent >::span ( const span< _Tp, dynamic_extent > &  )
constexprdefaultnoexcept

◆ span() [3/10]

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( pointer  __ptr,
size_type  __count 
)
inlineconstexpr

Definition at line 437 of file sycl_span.hpp.

◆ span() [4/10]

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( pointer  __f,
pointer  __l 
)
inlineconstexpr

Definition at line 439 of file sycl_span.hpp.

◆ span() [5/10]

template<typename _Tp >
template<size_t _Sz>
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( element_type(&)  __arr[_Sz])
inlineconstexprnoexcept

Definition at line 443 of file sycl_span.hpp.

◆ span() [6/10]

template<typename _Tp >
template<class _OtherElementType , size_t _Sz, std::enable_if_t< std::is_convertible_v< _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t > = nullptr>
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( std::array< _OtherElementType, _Sz > &  __arr)
inlineconstexprnoexcept

Definition at line 451 of file sycl_span.hpp.

◆ span() [7/10]

template<typename _Tp >
template<class _OtherElementType , size_t _Sz, std::enable_if_t< std::is_convertible_v< const _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t > = nullptr>
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( const std::array< _OtherElementType, _Sz > &  __arr)
inlineconstexprnoexcept

Definition at line 460 of file sycl_span.hpp.

◆ span() [8/10]

template<typename _Tp >
template<class _Container >
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( _Container &  __c,
std::enable_if_t< __is_span_compatible_container< _Container, _Tp >::value, std::nullptr_t >  = nullptr 
)
inlineconstexpr

Definition at line 465 of file sycl_span.hpp.

◆ span() [9/10]

template<typename _Tp >
template<class _Container >
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( const _Container &  __c,
std::enable_if_t< __is_span_compatible_container< const _Container, _Tp >::value, std::nullptr_t >  = nullptr 
)
inlineconstexpr

Definition at line 472 of file sycl_span.hpp.

◆ span() [10/10]

template<typename _Tp >
template<class _OtherElementType , size_t _OtherExtent>
constexpr _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::span ( const span< _OtherElementType, _OtherExtent > &  __other,
std::enable_if_t< std::is_convertible_v< _OtherElementType(*)[], element_type(*)[]>, std::nullptr_t >  = nullptr 
)
inlineconstexprnoexcept

Definition at line 480 of file sycl_span.hpp.

References sycl::_V1::span< _Tp, _Extent >::data().

Member Function Documentation

◆ __as_bytes()

template<typename _Tp >
_SYCL_SPAN_INLINE_VISIBILITY span<const byte, dynamic_extent> sycl::_V1::span< _Tp, dynamic_extent >::__as_bytes ( ) const
inlinenoexcept

Definition at line 590 of file sycl_span.hpp.

◆ __as_writable_bytes()

template<typename _Tp >
_SYCL_SPAN_INLINE_VISIBILITY span<byte, dynamic_extent> sycl::_V1::span< _Tp, dynamic_extent >::__as_writable_bytes ( ) const
inlinenoexcept

Definition at line 595 of file sycl_span.hpp.

◆ back()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference sycl::_V1::span< _Tp, dynamic_extent >::back ( ) const
inlineconstexprnoexcept

Definition at line 566 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ begin()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY iterator sycl::_V1::span< _Tp, dynamic_extent >::begin ( ) const
inlineconstexprnoexcept

Definition at line 576 of file sycl_span.hpp.

◆ data()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY pointer sycl::_V1::span< _Tp, dynamic_extent >::data ( ) const
inlineconstexprnoexcept

Definition at line 571 of file sycl_span.hpp.

◆ empty()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY bool sycl::_V1::span< _Tp, dynamic_extent >::empty ( ) const
inlineconstexprnoexcept

Definition at line 551 of file sycl_span.hpp.

◆ end()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY iterator sycl::_V1::span< _Tp, dynamic_extent >::end ( ) const
inlineconstexprnoexcept

Definition at line 579 of file sycl_span.hpp.

◆ first() [1/2]

template<typename _Tp >
template<size_t _Count>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span<element_type, _Count> sycl::_V1::span< _Tp, dynamic_extent >::first ( ) const
inlineconstexprnoexcept

Definition at line 491 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ first() [2/2]

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY span<element_type, dynamic_extent> sycl::_V1::span< _Tp, dynamic_extent >::first ( size_type  __count) const
inlineconstexprnoexcept

Definition at line 505 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ front()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference sycl::_V1::span< _Tp, dynamic_extent >::front ( ) const
inlineconstexprnoexcept

Definition at line 561 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ last() [1/2]

template<typename _Tp >
template<size_t _Count>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span<element_type, _Count> sycl::_V1::span< _Tp, dynamic_extent >::last ( ) const
inlineconstexprnoexcept

Definition at line 498 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ last() [2/2]

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY span<element_type, dynamic_extent> sycl::_V1::span< _Tp, dynamic_extent >::last ( size_type  __count) const
inlineconstexprnoexcept

Definition at line 513 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ operator=()

template<typename _Tp >
constexpr span& sycl::_V1::span< _Tp, dynamic_extent >::operator= ( const span< _Tp, dynamic_extent > &  )
constexprdefaultnoexcept

◆ operator[]()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY reference sycl::_V1::span< _Tp, dynamic_extent >::operator[] ( size_type  __idx) const
inlineconstexprnoexcept

Definition at line 556 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT.

◆ rbegin()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY rev_iterator sycl::_V1::span< _Tp, dynamic_extent >::rbegin ( ) const
inlineconstexprnoexcept

Definition at line 582 of file sycl_span.hpp.

◆ rend()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY rev_iterator sycl::_V1::span< _Tp, dynamic_extent >::rend ( ) const
inlineconstexprnoexcept

Definition at line 585 of file sycl_span.hpp.

◆ size()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY size_type sycl::_V1::span< _Tp, dynamic_extent >::size ( ) const
inlineconstexprnoexcept

Definition at line 545 of file sycl_span.hpp.

◆ size_bytes()

template<typename _Tp >
constexpr _SYCL_SPAN_INLINE_VISIBILITY size_type sycl::_V1::span< _Tp, dynamic_extent >::size_bytes ( ) const
inlineconstexprnoexcept

Definition at line 548 of file sycl_span.hpp.

◆ subspan() [1/2]

template<typename _Tp >
template<size_t _Offset, size_t _Count = dynamic_extent>
constexpr _SYCL_SPAN_INLINE_VISIBILITY span<element_type, _Count> sycl::_V1::span< _Tp, dynamic_extent >::subspan ( ) const
inlineconstexprnoexcept

Definition at line 521 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT, and sycl::_V1::dynamic_extent.

◆ subspan() [2/2]

template<typename _Tp >
constexpr span<element_type, dynamic_extent> _SYCL_SPAN_INLINE_VISIBILITY sycl::_V1::span< _Tp, dynamic_extent >::subspan ( size_type  __offset,
size_type  __count = dynamic_extent 
) const
inlineconstexprnoexcept

Definition at line 531 of file sycl_span.hpp.

References _SYCL_SPAN_ASSERT, and sycl::_V1::dynamic_extent.

Member Data Documentation

◆ extent

template<typename _Tp >
constexpr size_type sycl::_V1::span< _Tp, dynamic_extent >::extent = dynamic_extent
staticconstexpr

Definition at line 428 of file sycl_span.hpp.


The documentation for this class was generated from the following file: