MillicastSDK 2.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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 >
constexpr millicast::Span< T >::Span ( )
constexprdefaultnoexcept

◆ Span() [2/7]

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

◆ Span() [3/7]

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

◆ Span() [4/7]

template<typename T >
constexpr 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>
constexpr 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>
constexpr 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>
constexpr millicast::Span< T >::Span ( const Span< OtherElementType > &  other)
inlineconstexprnoexcept

Member Function Documentation

◆ begin()

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

◆ data()

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

◆ empty()

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

◆ end()

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

◆ size()

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

◆ size_bytes()

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

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