Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
TCB_SPAN_NAMESPACE_NAME Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  contract_violation_error
 
class  span
 

Typedefs

using byte = unsigned char
 

Functions

void contract_violation (const char *msg)
 
template<typename ElementType , size_t Extent>
constexpr span< ElementType, Extent > make_span (span< ElementType, Extent > s) noexcept
 
template<typename T , size_t N>
constexpr span< T, N > make_span (T(&arr)[N]) noexcept
 
template<typename T , size_t N>
TCB_SPAN_ARRAY_CONSTEXPR span< T, N > make_span (std::array< T, N > &arr) noexcept
 
template<typename T , 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< typenamestd::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 , 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<size_t N, typename E , size_t S>
constexpr auto get (span< E, S > s) -> decltype(s[N])
 

Variables

TCB_SPAN_INLINE_VAR constexpr 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 , 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

◆ contract_violation()

void TCB_SPAN_NAMESPACE_NAME::contract_violation ( const char *  msg)
inline

◆ get()

template<size_t N, typename E , 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 , 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< typenamestd::remove_reference< decltype(*detail::data(std::declval< Container & >()))>::type TCB_SPAN_NAMESPACE_NAME::make_span ( Container &  cont)
constexpr

◆ make_span() [4/6]

template<typename ElementType , 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 , 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 , size_t N>
constexpr span< T, N > TCB_SPAN_NAMESPACE_NAME::make_span ( T(&)  arr[N])
constexprnoexcept

Variable Documentation

◆ dynamic_extent

TCB_SPAN_INLINE_VAR constexpr size_t TCB_SPAN_NAMESPACE_NAME::dynamic_extent = SIZE_MAX
constexpr