aether::container::span< T > Class Template Reference

#include <span.hh>

Public Types

using element_type = T
 
using value_type = std::remove_cv_t< T >
 
using index_type = std::size_t
 
using pointer = element_type *
 
using reference = element_type &
 
using iterator = element_type *
 

Public Member Functions

 span ()=default
 
 span (const span &)=default
 
 span (pointer _data, index_type _extent)
 
template<class Container >
 span (Container &container)
 
index_type size () const
 
index_type size_bytes () const
 
bool empty () const
 
pointer data () const
 
reference operator[] (const index_type idx) const
 
reference front () const
 
reference back () const
 
iterator begin () const
 
iterator end () const
 

Member Typedef Documentation

template<typename T >
using aether::container::span< T >::element_type = T
template<typename T >
using aether::container::span< T >::index_type = std::size_t
template<typename T >
using aether::container::span< T >::iterator = element_type*
template<typename T >
using aether::container::span< T >::pointer = element_type*
template<typename T >
using aether::container::span< T >::reference = element_type&
template<typename T >
using aether::container::span< T >::value_type = std::remove_cv_t<T>

Constructor & Destructor Documentation

template<typename T >
aether::container::span< T >::span ( )
default
template<typename T >
aether::container::span< T >::span ( const span< T > &  )
default
template<typename T >
aether::container::span< T >::span ( pointer  _data,
index_type  _extent 
)
inline
template<typename T >
template<class Container >
aether::container::span< T >::span ( Container &  container)
inline

Member Function Documentation

template<typename T >
reference aether::container::span< T >::back ( ) const
inline
template<typename T >
iterator aether::container::span< T >::begin ( ) const
inline
template<typename T >
pointer aether::container::span< T >::data ( ) const
inline
template<typename T >
bool aether::container::span< T >::empty ( ) const
inline
template<typename T >
iterator aether::container::span< T >::end ( ) const
inline
template<typename T >
reference aether::container::span< T >::front ( ) const
inline
template<typename T >
reference aether::container::span< T >::operator[] ( const index_type  idx) const
inline
template<typename T >
index_type aether::container::span< T >::size ( ) const
inline
template<typename T >
index_type aether::container::span< T >::size_bytes ( ) const
inline