Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::span< T, etl::dynamic_extent > Class Template Reference

Span - Dynamic Extent. More...

#include <span.h>

Public Types

typedef T element_type
 
typedef etl::remove_cv< T >::type value_type
 
typedef size_t size_type
 
typedef Treference
 
typedef const Tconst_reference
 
typedef Tpointer
 
typedef const Tconst_pointer
 
typedef Titerator
 
typedef ETL_OR_STD::reverse_iterator< iteratorreverse_iterator
 
typedef etl::circular_iterator< pointercircular_iterator
 
typedef etl::circular_iterator< ETL_OR_STD::reverse_iterator< pointer > > reverse_circular_iterator
 

Public Member Functions

ETL_CONSTEXPR span () ETL_NOEXCEPT
 Default constructor.
 
template<typename TIterator , typename TSize >
ETL_CONSTEXPR span (const TIterator begin_, const TSize size_) ETL_NOEXCEPT
 Construct from pointer + size.
 
template<typename TIterator >
ETL_CONSTEXPR span (const TIterator begin_, const TIterator end_)
 Construct from iterators.
 
template<size_t Array_Size>
ETL_CONSTEXPR span (element_type(&begin_)[Array_Size]) ETL_NOEXCEPT
 Construct from C array.
 
template<typename TContainer >
ETL_CONSTEXPR span (TContainer &a, typename etl::enable_if<!etl::is_pointer< typename etl::remove_reference< TContainer >::type >::value &&!etl::is_array< TContainer >::value &&etl::is_same< typename etl::remove_cv< T >::type, typename etl::remove_cv< typename etl::remove_reference< TContainer >::type::value_type >::type >::value, void >::type *=0) ETL_NOEXCEPT
 
template<typename TContainer >
ETL_CONSTEXPR span (const TContainer &a, typename etl::enable_if<!etl::is_pointer< typename etl::remove_reference< TContainer >::type >::value &&!etl::is_array< TContainer >::value &&etl::is_same< typename etl::remove_cv< T >::type, typename etl::remove_cv< typename etl::remove_reference< TContainer >::type::value_type >::type >::value, void >::type *=0) ETL_NOEXCEPT
 
ETL_CONSTEXPR span (const span &other) ETL_NOEXCEPT
 Copy constructor.
 
template<typename U , size_t N>
ETL_CONSTEXPR span (const etl::span< U, N > &other) ETL_NOEXCEPT
 Copy constructor.
 
ETL_NODISCARD ETL_CONSTEXPR reference front () const ETL_NOEXCEPT
 Returns a reference to the first element.
 
ETL_NODISCARD ETL_CONSTEXPR reference back () const ETL_NOEXCEPT
 Returns a reference to the last element.
 
ETL_NODISCARD ETL_CONSTEXPR pointer data () const ETL_NOEXCEPT
 Returns a pointer to the first element of the internal storage.
 
ETL_NODISCARD ETL_CONSTEXPR iterator begin () const ETL_NOEXCEPT
 Returns an iterator to the beginning of the span.
 
ETL_NODISCARD ETL_CONSTEXPR circular_iterator begin_circular () const ETL_NOEXCEPT
 Returns a circular iterator to the beginning of the span.
 
ETL_NODISCARD ETL_CONSTEXPR iterator end () const ETL_NOEXCEPT
 Returns an iterator to the end of the span.
 
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rbegin () const ETL_NOEXCEPT
 
ETL_NODISCARD ETL_CONSTEXPR reverse_circular_iterator rbegin_circular () const ETL_NOEXCEPT
 Returns a reverse circular iterator to the end of the span.
 
ETL_NODISCARD ETL_CONSTEXPR reverse_iterator rend () const ETL_NOEXCEPT
 Returns a reverse iterator to the end of the span.
 
ETL_NODISCARD ETL_CONSTEXPR bool empty () const ETL_NOEXCEPT
 Returns true if the span size is zero.
 
ETL_NODISCARD ETL_CONSTEXPR size_t size () const ETL_NOEXCEPT
 Returns the size of the span.
 
ETL_NODISCARD ETL_CONSTEXPR size_t size_bytes () const ETL_NOEXCEPT
 Returns the size of the span in bytes.
 
ETL_NODISCARD ETL_CONSTEXPR size_t max_size () const ETL_NOEXCEPT
 Returns the maximum possible size of the span.
 
ETL_CONSTEXPR14 spanoperator= (const span &other) ETL_NOEXCEPT
 Assign from a span.
 
ETL_CONSTEXPR reference operator[] (const size_t i) const
 Returns a reference to the indexed value.
 
template<size_t COUNT>
ETL_NODISCARD ETL_CONSTEXPR etl::span< element_type, COUNTfirst () const ETL_NOEXCEPT
 Obtains a span that is a view over the first COUNT elements of this span.
 
ETL_NODISCARD ETL_CONSTEXPR etl::span< element_type, etl::dynamic_extent > first (size_t count) const ETL_NOEXCEPT
 Obtains a span that is a view over the first count elements of this span.
 
template<size_t COUNT>
ETL_NODISCARD ETL_CONSTEXPR etl::span< element_type, COUNTlast () const ETL_NOEXCEPT
 Obtains a span that is a view over the last COUNT elements of this span.
 
ETL_NODISCARD ETL_CONSTEXPR etl::span< element_type, etl::dynamic_extent > last (size_t count) const ETL_NOEXCEPT
 Obtains a span that is a view over the last count elements of this span.
 
template<size_t OFFSET, size_t COUNT>
etl::span< element_type, COUNT !=etl::dynamic_extent ? COUNT :etl::dynamic_extent > subspan () const
 Obtains a span that is a view from OFFSET over the next COUNT elements of this span.
 
ETL_NODISCARD ETL_CONSTEXPR14 etl::span< element_type, etl::dynamic_extent > subspan (size_t offset, size_t count=etl::dynamic_extent) const ETL_NOEXCEPT
 Obtains a span that is a view from 'offset' over the next 'count' elements of this span.
 

Static Public Attributes

static ETL_CONSTANT size_t extent = etl::dynamic_extent
 

Detailed Description

template<typename T>
class etl::span< T, etl::dynamic_extent >

Span - Dynamic Extent.

Constructor & Destructor Documentation

◆ span() [1/2]

template<typename T >
template<typename TContainer >
ETL_CONSTEXPR etl::span< T, etl::dynamic_extent >::span ( TContainer a,
typename etl::enable_if<!etl::is_pointer< typename etl::remove_reference< TContainer >::type >::value &&!etl::is_array< TContainer >::value &&etl::is_same< typename etl::remove_cv< T >::type, typename etl::remove_cv< typename etl::remove_reference< TContainer >::type::value_type >::type >::value, void >::type *  = 0 
)
inline

Construct from a container or other type that supports data() and size() member functions.

◆ span() [2/2]

template<typename T >
template<typename TContainer >
ETL_CONSTEXPR etl::span< T, etl::dynamic_extent >::span ( const TContainer a,
typename etl::enable_if<!etl::is_pointer< typename etl::remove_reference< TContainer >::type >::value &&!etl::is_array< TContainer >::value &&etl::is_same< typename etl::remove_cv< T >::type, typename etl::remove_cv< typename etl::remove_reference< TContainer >::type::value_type >::type >::value, void >::type *  = 0 
)
inline

Construct from a container or other type that supports data() and size() member functions.


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