TCB_SPAN_NAMESPACE_NAME Namespace Reference

Namespaces

 detail
 

Classes

class  span
 

Typedefs

using byte = unsigned char
 

Functions

template<typename ElementType , std::size_t Extent>
constexpr span< ElementType, Extent > make_span (span< ElementType, Extent > s) noexcept
 
template<typename T , std::size_t N>
constexpr span< T, N > make_span (T(&arr)[N]) noexcept
 
template<typename T , std::size_t N>
TCB_SPAN_ARRAY_CONSTEXPR span< T, N > make_span (std::array< T, N > &arr) noexcept
 
template<typename T , std::size_t N>
TCB_SPAN_ARRAY_CONSTEXPR span< const T, N > make_span (const std::array< T, N > &arr) noexcept
 
template<typename Container >
constexpr span< typename Container::value_type > make_span (Container &cont)
 
template<typename Container >
constexpr span< const typename Container::value_type > make_span (const Container &cont)
 
template<typename ElementType , std::size_t Extent>
span< const byte,((Extent==dynamic_extent) ? dynamic_extent :sizeof(ElementType) *Extent)> as_bytes (span< ElementType, Extent > s) noexcept
 
template<class ElementType , size_t Extent, typename std::enable_if<!std::is_const< ElementType >::value, int >::type = 0>
span< byte,((Extent==dynamic_extent) ? dynamic_extent :sizeof(ElementType) *Extent)> as_writable_bytes (span< ElementType, Extent > s) noexcept
 
template<std::size_t N, typename E , std::size_t S>
constexpr auto get (span< E, S > s) -> decltype(s[N])
 

Variables

constexpr TCB_SPAN_INLINE_VAR std::size_t dynamic_extent = SIZE_MAX
 

Typedef Documentation

◆ byte

using TCB_SPAN_NAMESPACE_NAME::byte = typedef unsigned char

Function Documentation

◆ as_bytes()

template<typename ElementType , std::size_t Extent>
span<const byte, ((Extent == dynamic_extent) ? dynamic_extent : sizeof(ElementType) * Extent)> TCB_SPAN_NAMESPACE_NAME::as_bytes ( span< ElementType, Extent >  s)
noexcept

◆ as_writable_bytes()

template<class ElementType , size_t Extent, typename std::enable_if<!std::is_const< ElementType >::value, int >::type = 0>
span<byte, ((Extent == dynamic_extent) ? dynamic_extent : sizeof(ElementType) * Extent)> TCB_SPAN_NAMESPACE_NAME::as_writable_bytes ( span< ElementType, Extent >  s)
noexcept

◆ get()

template<std::size_t N, typename E , std::size_t S>
constexpr auto TCB_SPAN_NAMESPACE_NAME::get ( span< E, S >  s) -> decltype(s[N])
constexpr

◆ make_span() [1/6]

template<typename Container >
constexpr span<const typename Container::value_type> TCB_SPAN_NAMESPACE_NAME::make_span ( const Container &  cont)
constexpr

◆ make_span() [2/6]

template<typename T , std::size_t N>
TCB_SPAN_ARRAY_CONSTEXPR span<const T, N> TCB_SPAN_NAMESPACE_NAME::make_span ( const std::array< T, N > &  arr)
noexcept

◆ make_span() [3/6]

template<typename Container >
constexpr span<typename Container::value_type> TCB_SPAN_NAMESPACE_NAME::make_span ( Container &  cont)
constexpr

◆ make_span() [4/6]

template<typename ElementType , std::size_t Extent>
constexpr span<ElementType, Extent> TCB_SPAN_NAMESPACE_NAME::make_span ( span< ElementType, Extent >  s)
constexprnoexcept

◆ make_span() [5/6]

template<typename T , std::size_t N>
TCB_SPAN_ARRAY_CONSTEXPR span<T, N> TCB_SPAN_NAMESPACE_NAME::make_span ( std::array< T, N > &  arr)
noexcept

◆ make_span() [6/6]

template<typename T , std::size_t N>
constexpr span<T, N> TCB_SPAN_NAMESPACE_NAME::make_span ( T(&)  arr[N])
constexprnoexcept

Variable Documentation

◆ dynamic_extent

constexpr TCB_SPAN_INLINE_VAR std::size_t TCB_SPAN_NAMESPACE_NAME::dynamic_extent = SIZE_MAX
constexpr