SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::Span< T, SizeT > Class Template Reference

#include <span.h>

Classes

struct  NotIntegral

Public Types

using size_type = SizeT
using value_type = T

Public Member Functions

constexpr T & back () const
constexpr T * begin () const
constexpr T * data () const
constexpr bool empty () const
constexpr T * end () const
constexpr T & front () const
constexpr operator bool () const noexcept
template<typename T2, typename S2>
bool operator!= (Span< T2, S2 > const &rhs) const
template<typename T2, typename S2>
bool operator== (Span< T2, S2 > const &rhs) const
constexpr T & operator[] (SizeT index) const
constexpr SizeT size () const
constexpr Span ()=default
template<class ContainerT, std::enable_if_t<(!std::is_same_v< std::decay_t< ContainerT >, Span >), superdex::ConceptMatch > = superdex::ConceptMatch::True>
constexpr Span (ContainerT &&container)
constexpr Span (T *begin, NotIntegral< T * > end)
constexpr Span (T *ptr, SizeT len)
constexpr Span subspan (SizeT start) const
constexpr Span subspan (SizeT start, SizeT len) const

Protected Attributes

SizeT _len = 0
T * _ptr = nullptr

Detailed Description

template<typename T, typename SizeT = size_t>
class superdex::Span< T, SizeT >

Definition at line 43 of file span.h.

Member Typedef Documentation

◆ size_type

template<typename T, typename SizeT = size_t>
using superdex::Span< T, SizeT >::size_type = SizeT

Definition at line 46 of file span.h.

◆ value_type

template<typename T, typename SizeT = size_t>
using superdex::Span< T, SizeT >::value_type = T

Definition at line 45 of file span.h.

Constructor & Destructor Documentation

◆ Span() [1/4]

template<typename T, typename SizeT = size_t>
superdex::Span< T, SizeT >::Span ( )
inlineconstexprdefault

◆ Span() [2/4]

template<typename T, typename SizeT = size_t>
superdex::Span< T, SizeT >::Span ( T * ptr,
SizeT len )
inlineconstexpr

Definition at line 52 of file span.h.

◆ Span() [3/4]

template<typename T, typename SizeT = size_t>
superdex::Span< T, SizeT >::Span ( T * begin,
NotIntegral< T * > end )
inlineconstexpr

Definition at line 64 of file span.h.

◆ Span() [4/4]

template<typename T, typename SizeT = size_t>
template<class ContainerT, std::enable_if_t<(!std::is_same_v< std::decay_t< ContainerT >, Span >), superdex::ConceptMatch > = superdex::ConceptMatch::True>
superdex::Span< T, SizeT >::Span ( ContainerT && container)
inlineconstexpr

Definition at line 72 of file span.h.

Member Function Documentation

◆ back()

template<typename T, typename SizeT = size_t>
T & superdex::Span< T, SizeT >::back ( ) const
inlinenodiscardconstexpr

Definition at line 132 of file span.h.

◆ begin()

template<typename T, typename SizeT = size_t>
T * superdex::Span< T, SizeT >::begin ( ) const
inlinenodiscardconstexpr

Definition at line 112 of file span.h.

◆ data()

template<typename T, typename SizeT = size_t>
T * superdex::Span< T, SizeT >::data ( ) const
inlinenodiscardconstexpr

Definition at line 118 of file span.h.

◆ empty()

template<typename T, typename SizeT = size_t>
bool superdex::Span< T, SizeT >::empty ( ) const
inlinenodiscardconstexpr

Definition at line 109 of file span.h.

◆ end()

template<typename T, typename SizeT = size_t>
T * superdex::Span< T, SizeT >::end ( ) const
inlinenodiscardconstexpr

Definition at line 115 of file span.h.

◆ front()

template<typename T, typename SizeT = size_t>
T & superdex::Span< T, SizeT >::front ( ) const
inlinenodiscardconstexpr

Definition at line 129 of file span.h.

◆ operator bool()

template<typename T, typename SizeT = size_t>
superdex::Span< T, SizeT >::operator bool ( ) const
inlineexplicitnodiscardconstexprnoexcept

Definition at line 82 of file span.h.

◆ operator!=()

template<typename T, typename SizeT = size_t>
template<typename T2, typename S2>
bool superdex::Span< T, SizeT >::operator!= ( Span< T2, S2 > const & rhs) const
inlinenodiscard

Definition at line 101 of file span.h.

◆ operator==()

template<typename T, typename SizeT = size_t>
template<typename T2, typename S2>
bool superdex::Span< T, SizeT >::operator== ( Span< T2, S2 > const & rhs) const
inlinenodiscard

Definition at line 88 of file span.h.

◆ operator[]()

template<typename T, typename SizeT = size_t>
T & superdex::Span< T, SizeT >::operator[] ( SizeT index) const
inlinenodiscardconstexpr

Definition at line 76 of file span.h.

◆ size()

template<typename T, typename SizeT = size_t>
SizeT superdex::Span< T, SizeT >::size ( ) const
inlinenodiscardconstexpr

Definition at line 106 of file span.h.

◆ subspan() [1/2]

template<typename T, typename SizeT = size_t>
Span superdex::Span< T, SizeT >::subspan ( SizeT start) const
inlinenodiscardconstexpr

Definition at line 125 of file span.h.

◆ subspan() [2/2]

template<typename T, typename SizeT = size_t>
Span superdex::Span< T, SizeT >::subspan ( SizeT start,
SizeT len ) const
inlinenodiscardconstexpr

Definition at line 121 of file span.h.

Member Data Documentation

◆ _len

template<typename T, typename SizeT = size_t>
SizeT superdex::Span< T, SizeT >::_len = 0
protected

Definition at line 138 of file span.h.

◆ _ptr

template<typename T, typename SizeT = size_t>
T* superdex::Span< T, SizeT >::_ptr = nullptr
protected

Definition at line 137 of file span.h.


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