|
HDK
|
#include "UT_Assert.h"#include <array>#include <cstddef>#include <cstdint>#include <type_traits>
Include dependency graph for UT_Span.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| TCB_SPAN_NAMESPACE_NAME | |
| TCB_SPAN_NAMESPACE_NAME::detail | |
| std | |
| std::hash specialization for UT_IntrusivePtr<T> | |
Macros | |
| #define | TCB_SPAN_NAMESPACE_NAME UT::tcb |
| #define | TCB_SPAN_NO_CONTRACT_CHECKING |
| #define | TCB_SPAN_EXPECT(cond) UT_ASSERT(cond) |
| #define | TCB_SPAN_INLINE_VAR |
| #define | TCB_SPAN_CONSTEXPR14 |
| #define | TCB_SPAN_CONSTEXPR_ASSIGN |
| #define | TCB_SPAN_CONSTEXPR11 constexpr |
| #define | TCB_SPAN_ARRAY_CONSTEXPR |
| #define | TCB_SPAN_NODISCARD |
| #define | TCB_SPAN_HPP_INCLUDED |
| #define | TCB_SPAN_NO_EXCEPTIONS |
Typedefs | |
| using | TCB_SPAN_NAMESPACE_NAME::byte = unsigned char |
| template<typename... > | |
| using | TCB_SPAN_NAMESPACE_NAME::detail::void_t = void |
| template<typename T > | |
| using | TCB_SPAN_NAMESPACE_NAME::detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
| template<typename T > | |
| using | TCB_SPAN_NAMESPACE_NAME::detail::remove_pointer_t = typename std::remove_pointer< T >::type |
| template<typename ElementType , std::size_t Extent = TCB_SPAN_NAMESPACE_NAME::dynamic_extent> | |
| using | UT_Span = TCB_SPAN_NAMESPACE_NAME::span< ElementType, Extent > |
Functions | |
| template<class C > | |
| constexpr auto | TCB_SPAN_NAMESPACE_NAME::detail::size (const C &c) -> decltype(c.size()) |
| template<class T , std::size_t N> | |
| constexpr std::size_t | TCB_SPAN_NAMESPACE_NAME::detail::size (const T(&)[N]) noexcept |
| template<class C > | |
| constexpr auto | TCB_SPAN_NAMESPACE_NAME::detail::data (C &c) -> decltype(c.data()) |
| template<class C > | |
| constexpr auto | TCB_SPAN_NAMESPACE_NAME::detail::data (const C &c) -> decltype(c.data()) |
| template<class T , std::size_t N> | |
| constexpr T * | TCB_SPAN_NAMESPACE_NAME::detail::data (T(&array)[N]) noexcept |
| template<class E > | |
| constexpr const E * | TCB_SPAN_NAMESPACE_NAME::detail::data (std::initializer_list< E > il) noexcept |
| template<typename ElementType , std::size_t Extent> | |
| constexpr span< ElementType, Extent > | TCB_SPAN_NAMESPACE_NAME::make_span (span< ElementType, Extent > s) noexcept |
| template<typename T , std::size_t N> | |
| constexpr span< T, N > | TCB_SPAN_NAMESPACE_NAME::make_span (T(&arr)[N]) noexcept |
| 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 |
| 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 |
| template<typename Container > | |
| constexpr span< typename std::remove_reference < decltype(*detail::data(std::declval < Container & >)))>::type > | TCB_SPAN_NAMESPACE_NAME::make_span (Container &cont) |
| template<typename Container > | |
| constexpr span< const typename Container::value_type > | TCB_SPAN_NAMESPACE_NAME::make_span (const Container &cont) |
| 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 |
| 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 |
| 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]) |
| template<typename SPANL , typename SPANR > | |
| constexpr bool | UTdeepEqual (const SPANL &left, const SPANR &right) |
| template<typename SPANL , typename SPANR > | |
| constexpr bool | UTshallowEqual (const SPANL &left, const SPANR &right) |
Variables | |
| TCB_SPAN_INLINE_VAR constexpr std::size_t | TCB_SPAN_NAMESPACE_NAME::dynamic_extent = SIZE_MAX |
| #define TCB_SPAN_HPP_INCLUDED |
| #define TCB_SPAN_NO_EXCEPTIONS |
| using UT_Span = TCB_SPAN_NAMESPACE_NAME::span<ElementType, Extent> |
| constexpr bool UTdeepEqual | ( | const SPANL & | left, |
| const SPANR & | right | ||
| ) |