|
Foundation
|
std::span with relaxed constructors for pointer-aliasing types and common containers. More...
#include <Container.hpp>
Public Member Functions | |
| Span ()=default | |
| template<typename U > requires (sizeof(std::remove_reference<T>) == sizeof(std::remove_reference<U>) && std::is_convertible_v<U*, T*>) | |
| Span (U *data, size_t size) | |
| Relaxed ctor for pointer-aliasing types. | |
| template<typename U , size_t Size> | |
| Span (U(&array)[Size]) | |
| Relaxed ctor for C-style arrays. | |
| template<typename U > requires requires (U a) { a.data(); a.size(); } | |
| Span (U &array) | |
| Relaxed ctor for contiguous STL containers. | |
| template<typename U > requires std::is_convertible_v<U*, T*> | |
| Span (U &item) | |
| Shorthand for single l-value item. | |
| Span< const char > | AsBytes () const |
| Provides casting to a byte-level view of the underlying data. | |
std::span with relaxed constructors for pointer-aliasing types and common containers.
|
default |
|
inline |
Relaxed ctor for pointer-aliasing types.
|
inline |
Relaxed ctor for C-style arrays.
For initializer lists, see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2447r4.html i.e. StlSpan<const T>({ { 1, 2, 3 } })
|
inline |
Relaxed ctor for contiguous STL containers.
|
inline |
Shorthand for single l-value item.
Provides casting to a byte-level view of the underlying data.