ReXGlue SDK
Loading...
Searching...
No Matches
endian.h File Reference
#include <bit>
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <string>
#include <string_view>
#include <type_traits>
#include <rex/platform.h>
#include <rex/assert.h>
#include <rex/types.h>

Go to the source code of this file.

Namespaces

namespace  rex
namespace  rex::memory

Typedefs

using rex::memory::FourCCT = u32

Functions

void rex::memory::Copy128Aligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_16_aligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_16_unaligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_32_aligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_32_unaligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_64_aligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_64_unaligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_16_in_32_aligned (void *dest, const void *src, size_t count)
void rex::memory::copy_and_swap_16_in_32_unaligned (void *dest, const void *src, size_t count)
template<typename T>
void rex::memory::copy_and_swap (T *dest, const T *src, size_t count)
template<typename T>
T rex::memory::load (const void *mem)
template<typename T>
T rex::memory::load_and_swap (const void *mem)
template<>
std::string rex::memory::load_and_swap< std::string > (const void *mem)
template<>
std::u16string rex::memory::load_and_swap< std::u16string > (const void *mem)
template<typename T>
void rex::memory::store (void *mem, const T &value)
template<typename T>
void rex::memory::store_and_swap (void *mem, const T &value)
template<>
void rex::memory::store_and_swap< std::string_view > (void *mem, const std::string_view &value)
template<>
void rex::memory::store_and_swap< std::string > (void *mem, const std::string &value)
template<>
void rex::memory::store_and_swap< std::u16string_view > (void *mem, const std::u16string_view &value)
template<>
void rex::memory::store_and_swap< std::u16string > (void *mem, const std::u16string &value)
constexpr u32 rex::memory::LoadUint24BE (const u8 *p)
constexpr u32 rex::memory::LoadUint24LE (const u8 *p)
constexpr void rex::memory::StoreUint24LE (u8 *p, u32 value)
constexpr FourCCT rex::memory::make_fourcc (char a, char b, char c, char d)
constexpr FourCCT rex::memory::make_fourcc (const std::string_view fourcc)

Detailed Description

License
BSD 3-Clause License See LICENSE file in the project root for full license text.
Remarks
Derived from Xenia's xenia/base/memory.h (Ben Vanik, 2020).