|
template<typename B = std::byte, typename... Args> |
PW_CONSTEVAL auto | Concat (Args... args) |
|
template<typename B = std::byte, size_t kSize, typename Indices = std::make_index_sequence<kSize - 1>> |
PW_CONSTEVAL auto | String (const char(&str)[kSize]) |
|
template<typename B = std::byte> |
PW_CONSTEVAL auto | String (const char(&)[1]) |
|
template<typename B , auto... values> |
PW_CONSTEVAL auto | Array () |
|
template<auto... values> |
PW_CONSTEVAL auto | Array () |
|
template<typename B , size_t kSize, typename T > |
constexpr auto | Initialized (const T &value_or_function) |
|
template<size_t kSize, typename T > |
constexpr auto | Initialized (const T &value_or_function) |
|
template<typename B = std::byte, typename... Args> |
constexpr auto | MakeArray (const Args &... args) |
|
template<std::size_t kBitWidth, typename T > |
constexpr T | SignExtend (T nbit_value) |
|
template<typename OutType , std::size_t kMsb, std::size_t kLsb, typename InType > |
constexpr OutType | ExtractBits (InType value) |
|
template<typename T > |
constexpr T | ConvertOrder (endian from, endian to, T value) |
|
template<typename T > |
constexpr T | ConvertOrderTo (endian to_endianness, T value) |
|
template<typename T > |
constexpr T | ConvertOrderFrom (endian from_endianness, T value) |
| Converts a value from the specified byte order to the native byte order.
|
|
template<typename T , typename U > |
constexpr void | CopyInOrder (endian order, T value, U *dest) |
|
template<typename T > |
constexpr auto | CopyInOrder (endian order, T value) |
| Copies the provided value to a std::array with the specified endianness.
|
|
template<typename T > |
T | ReadInOrder (endian order, const void *buffer) |
|
template<typename T > |
T | ReadInOrder (endian order, const void *buffer, size_t max_bytes_to_read) |
|
template<typename T , typename B , size_t kBufferSize, typename = std::enable_if_t<kBufferSize != dynamic_extent && sizeof(B) == sizeof(std::byte)>> |
T | ReadInOrder (endian order, span< B, kBufferSize > buffer) |
| Reads a value from a static-extent span, with compile-time bounds checking.
|
|
template<typename T , typename B , size_t kBufferSize> |
T | ReadInOrder (endian order, const std::array< B, kBufferSize > &buffer) |
| Reads a value from a std::array , with compile-time bounds checking.
|
|
template<typename T , typename B , size_t kBufferSize> |
T | ReadInOrder (endian order, const B(&buffer)[kBufferSize]) |
| Reads a value from a C array, with compile-time bounds checking.
|
|
template<typename T > |
bool | ReadInOrder (endian order, ConstByteSpan buffer, T &value) |
|
constexpr unsigned long long int | B (unsigned long long int bytes) |
|
constexpr unsigned long long int | KiB (unsigned long long int kibibytes) |
|
constexpr unsigned long long int | MiB (unsigned long long int mebibytes) |
|
constexpr unsigned long long int | GiB (unsigned long long int gibibytes) |
|
constexpr unsigned long long int | TiB (unsigned long long int tebibytes) |
|
constexpr unsigned long long int | PiB (unsigned long long int pebibytes) |
|
constexpr unsigned long long int | EiB (unsigned long long int exbibytes) |
|
Binary data manipulation utilities.