#include <cassert>
#include <cstddef>
#include <span>
#include <type_traits>
#include <utility>
Go to the source code of this file.
|
| template<typename T > |
| using | DataResult = std::remove_pointer_t< decltype(std::declval< T & >().data())> |
| |
◆ ASSERT_IF_DEBUG
| #define ASSERT_IF_DEBUG |
( |
|
x | ) |
|
◆ CONSTEXPR_IF_NOT_DEBUG
| #define CONSTEXPR_IF_NOT_DEBUG constexpr |
◆ SPAN_ATTR_LIFETIMEBOUND
| #define SPAN_ATTR_LIFETIMEBOUND |
◆ DataResult
template<typename T >
| using DataResult = std::remove_pointer_t<decltype(std::declval<T&>().data())> |
◆ AsBytes()
template<typename T >
| Span<const std::byte> AsBytes |
( |
Span< T > |
s | ) |
|
|
noexcept |
◆ AsWritableBytes()
template<typename T >
| Span<std::byte> AsWritableBytes |
( |
Span< T > |
s | ) |
|
|
noexcept |
◆ MakeByteSpan()
template<typename V >
| Span<const std::byte> MakeByteSpan |
( |
V && |
v | ) |
|
|
noexcept |
◆ MakeUCharSpan()
Like the Span constructor, but for (const) unsigned char member types only.
Only works for (un)signed char containers.
Definition at line 296 of file span.h.
◆ MakeWritableByteSpan()
template<typename V >
| Span<std::byte> MakeWritableByteSpan |
( |
V && |
v | ) |
|
|
noexcept |
◆ Span() [1/4]
template<typename T , typename EndOrSize >
◆ Span() [2/4]
template<typename T , std::size_t N>
◆ Span() [3/4]
◆ Span() [4/4]
◆ SpanPopBack()
template<typename T >
| T& SpanPopBack |
( |
Span< T > & |
span | ) |
|
Pop the last element off a span, and return a reference to that element.
Definition at line 248 of file span.h.
◆ UCharCast() [1/8]
| unsigned char* UCharCast |
( |
char * |
c | ) |
|
|
inline |
◆ UCharCast() [2/8]
| unsigned char* UCharCast |
( |
unsigned char * |
c | ) |
|
|
inline |
◆ UCharCast() [3/8]
| unsigned char* UCharCast |
( |
signed char * |
c | ) |
|
|
inline |
◆ UCharCast() [4/8]
| unsigned char* UCharCast |
( |
std::byte * |
c | ) |
|
|
inline |
◆ UCharCast() [5/8]
| const unsigned char* UCharCast |
( |
const char * |
c | ) |
|
|
inline |
◆ UCharCast() [6/8]
| const unsigned char* UCharCast |
( |
const unsigned char * |
c | ) |
|
|
inline |
◆ UCharCast() [7/8]
| const unsigned char* UCharCast |
( |
const signed char * |
c | ) |
|
|
inline |
◆ UCharCast() [8/8]
| const unsigned char* UCharCast |
( |
const std::byte * |
c | ) |
|
|
inline |
◆ UCharSpanCast()
template<typename T >
| constexpr auto UCharSpanCast |
( |
Span< T > |
s | ) |
-> Span<typename std::remove_pointer<decltype(UCharCast(s.data()))>::type> |
◆ BasicByte
template<typename B >
| concept BasicByte = requires { UCharCast(std::span<B>{}.data()); } |