MillicastSDK 2.2.0
Loading...
Searching...
No Matches
millicast::Span< T > Class Template Reference

#include <span.h>

Public Types

using element_type = T
 
using pointer = element_type*
 
using reference = element_type&
 

Public Member Functions

constexpr Span () noexcept=default
 
constexpr Span (pointer ptr, size_t size) noexcept
 
template<size_t N>
constexpr Span (T(&arr)[N]) noexcept
 
constexpr Span (const Span &) noexcept=default
 
template<typename C , typename std::enable_if< std::is_same_v< typename C::value_type, T >||detail::is_container_element_type_compatible< const C &, T >::value, int >::type = 0>
constexpr Span (const C &container) noexcept
 
template<typename C , typename std::enable_if< std::is_same_v< typename C::value_type, T >||detail::is_container_element_type_compatible< C &, T >::value, int >::type = 0>
constexpr Span (C &container) noexcept
 
template<typename OtherElementType , typename std::enable_if<!std::is_same_v< OtherElementType, T > &&detail::is_container_element_type_compatible< const Span< OtherElementType > &, T >::value, int >::type = 0>
constexpr Span (const Span< OtherElementType > &other) noexcept
 
constexpr T * data () const
 
constexpr T * begin () const
 
constexpr T * end () const
 
constexpr size_t size () const
 
constexpr size_t size_bytes () const
 
constexpr bool empty () const
 

Member Typedef Documentation

◆ element_type

template<typename T >
using millicast::Span< T >::element_type = T

◆ pointer

template<typename T >
using millicast::Span< T >::pointer = element_type*

◆ reference

template<typename T >
using millicast::Span< T >::reference = element_type&

Constructor & Destructor Documentation

◆ Span() [1/7]

template<typename T >
millicast::Span< T >::Span ( )
constexprdefaultnoexcept

◆ Span() [2/7]

template<typename T >
millicast::Span< T >::Span ( pointer ptr,
size_t size )
inlineconstexprnoexcept

◆ Span() [3/7]

template<typename T >
template<size_t N>
millicast::Span< T >::Span ( T(&) arr[N])
inlineconstexprnoexcept

◆ Span() [4/7]

template<typename T >
millicast::Span< T >::Span ( const Span< T > & )
constexprdefaultnoexcept

◆ Span() [5/7]

template<typename T >
template<typename C , typename std::enable_if< std::is_same_v< typename C::value_type, T >||detail::is_container_element_type_compatible< const C &, T >::value, int >::type = 0>
millicast::Span< T >::Span ( const C & container)
inlineconstexprnoexcept

◆ Span() [6/7]

template<typename T >
template<typename C , typename std::enable_if< std::is_same_v< typename C::value_type, T >||detail::is_container_element_type_compatible< C &, T >::value, int >::type = 0>
millicast::Span< T >::Span ( C & container)
inlineconstexprnoexcept

◆ Span() [7/7]

template<typename T >
template<typename OtherElementType , typename std::enable_if<!std::is_same_v< OtherElementType, T > &&detail::is_container_element_type_compatible< const Span< OtherElementType > &, T >::value, int >::type = 0>
millicast::Span< T >::Span ( const Span< OtherElementType > & other)
inlineconstexprnoexcept

Member Function Documentation

◆ begin()

template<typename T >
T * millicast::Span< T >::begin ( ) const
inlineconstexpr

◆ data()

template<typename T >
T * millicast::Span< T >::data ( ) const
inlineconstexpr

◆ empty()

template<typename T >
bool millicast::Span< T >::empty ( ) const
inlinenodiscardconstexpr

◆ end()

template<typename T >
T * millicast::Span< T >::end ( ) const
inlineconstexpr

◆ size()

template<typename T >
size_t millicast::Span< T >::size ( ) const
inlinenodiscardconstexpr

◆ size_bytes()

template<typename T >
size_t millicast::Span< T >::size_bytes ( ) const
inlinenodiscardconstexpr

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