Nugget
Public Types | Public Member Functions | Static Public Attributes | List of all members
eastl::span< T, Extent > Class Template Reference

Public Types

typedef T element_type
 
typedef remove_cv_t< T > value_type
 
typedef eastl_size_t index_type
 
typedef ptrdiff_t difference_type
 
typedef T * pointer
 
typedef const T * const_pointer
 
typedef T & reference
 
typedef const T & const_reference
 
typedef T * iterator
 
typedef const T * const_iterator
 
typedef eastl::reverse_iterator< iterator > reverse_iterator
 
typedef eastl::reverse_iterator< const_iterator > const_reverse_iterator
 
template<typename Container >
using SfinaeForGenericContainers = enable_if_t<!is_same_v< Container, span > &&!is_same_v< Container, array< value_type > > &&!is_array_v< Container > &&Internal::HasSizeAndData< Container >::value &&is_convertible_v< remove_pointer_t< decltype(eastl::data(eastl::declval< Container & >()))>(*)[], element_type(*)[]> >
 

Public Member Functions

EA_CONSTEXPR span (const span &other) EA_NOEXCEPT=default
 
EA_CONSTEXPR span (pointer ptr, index_type count)
 
EA_CONSTEXPR span (pointer pBegin, pointer pEnd)
 
EA_CPP14_CONSTEXPR spanoperator= (const span &other) EA_NOEXCEPT=default
 
template<size_t N, typename = enable_if_t<(Extent == eastl::dynamic_extent || N == Extent)>>
EA_CONSTEXPR span (element_type(&arr)[N]) EA_NOEXCEPT
 
template<size_t N, typename = enable_if_t<(Extent == eastl::dynamic_extent || N == Extent)>>
EA_CONSTEXPR span (eastl::array< value_type, N > &arr) EA_NOEXCEPT
 
template<size_t N, typename = enable_if_t<(Extent == eastl::dynamic_extent || N == Extent)>>
EA_CONSTEXPR span (const eastl::array< value_type, N > &arr) EA_NOEXCEPT
 
template<typename Container , typename = SfinaeForGenericContainers<Container>>
EA_CONSTEXPR span (Container &cont)
 
template<typename Container , typename = SfinaeForGenericContainers<const Container>>
EA_CONSTEXPR span (const Container &cont)
 
template<typename U , size_t N, typename = enable_if_t<(Extent == eastl::dynamic_extent || N == Extent) && (is_convertible_v<U(*)[], element_type(*)[]>)>>
EA_CONSTEXPR span (const span< U, N > &s) EA_NOEXCEPT
 
template<size_t Count>
EA_CPP14_CONSTEXPR span< element_type, Count > first () const
 
EA_CPP14_CONSTEXPR span< element_type, dynamic_extent > first (size_t Count) const
 
template<size_t Count>
EA_CPP14_CONSTEXPR span< element_type, Count > last () const
 
EA_CPP14_CONSTEXPR span< element_type, dynamic_extent > last (size_t Count) const
 
template<size_t Offset, size_t Count = dynamic_extent>
EA_CONSTEXPR span< element_type, Internal::SubspanExtent< Extent, Offset, Count >::value > subspan () const
 
EA_CONSTEXPR span< element_type, dynamic_extent > subspan (size_t Offset, size_t Count=dynamic_extent) const
 
EA_CONSTEXPR pointer data () const EA_NOEXCEPT
 
EA_CONSTEXPR index_type size () const EA_NOEXCEPT
 
EA_CONSTEXPR index_type size_bytes () const EA_NOEXCEPT
 
EA_CONSTEXPR bool empty () const EA_NOEXCEPT
 
EA_CONSTEXPR reference front () const
 
EA_CONSTEXPR reference back () const
 
EA_CONSTEXPR reference operator[] (index_type idx) const
 
EA_CONSTEXPR reference operator() (index_type idx) const
 
EA_CONSTEXPR iterator begin () const EA_NOEXCEPT
 
EA_CONSTEXPR iterator end () const EA_NOEXCEPT
 
EA_CONSTEXPR const_iterator cbegin () const EA_NOEXCEPT
 
EA_CONSTEXPR const_iterator cend () const EA_NOEXCEPT
 
EA_CONSTEXPR reverse_iterator rbegin () const EA_NOEXCEPT
 
EA_CONSTEXPR reverse_iterator rend () const EA_NOEXCEPT
 
EA_CONSTEXPR const_reverse_iterator crbegin () const EA_NOEXCEPT
 
EA_CONSTEXPR const_reverse_iterator crend () const EA_NOEXCEPT
 
template<size_t Count>
EA_CPP14_CONSTEXPR span< typename span< T, Extent >::element_type, Count > first () const
 
template<size_t Count>
EA_CPP14_CONSTEXPR span< typename span< T, Extent >::element_type, Count > last () const
 
template<size_t Offset, size_t Count>
EA_CONSTEXPR span< typename span< T, Extent >::element_type, Internal::SubspanExtent< Extent, Offset, Count >::value > subspan () const
 

Static Public Attributes

static EA_CONSTEXPR size_t extent = Extent
 

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