HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
std::remove_reference
< decltype(*detail::data(std::declval
< Container & >)))>::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

TCB_SPAN_INLINE_VAR constexpr
std::size_t 
dynamic_extent = SIZE_MAX
 

Typedef Documentation

using TCB_SPAN_NAMESPACE_NAME::byte = typedef unsigned char

Definition at line 163 of file UT_Span.h.

Function Documentation

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

Definition at line 601 of file UT_Span.h.

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

Definition at line 611 of file UT_Span.h.

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])

Definition at line 617 of file UT_Span.h.

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

Definition at line 559 of file UT_Span.h.

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

Definition at line 565 of file UT_Span.h.

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

Definition at line 571 of file UT_Span.h.

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

Definition at line 578 of file UT_Span.h.

template<typename Container >
constexpr span<typename std::remove_reference< decltype(*detail::data(std::declval<Container&>)))>::type> TCB_SPAN_NAMESPACE_NAME::make_span ( Container &  cont)

Definition at line 586 of file UT_Span.h.

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

Definition at line 593 of file UT_Span.h.

Variable Documentation

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

Definition at line 172 of file UT_Span.h.