|
ReXGlue SDK
|
#include <algorithm>#include <bit>#include <climits>#include <cstddef>#include <cstdint>#include <cstring>#include <span>#include <type_traits>#include <utility>#include <vector>#include <rex/platform.h>#include <rex/types.h>Go to the source code of this file.
Classes | |
| class | rex::BitMap |
Namespaces | |
| namespace | rex |
Concepts | |
| concept | rex::FlagsEnum |
Macros | |
| #define | REX_RESTRICT_VAR __restrict |
Functions | |
| template<typename T> | |
| constexpr bool | rex::is_pow2 (T value) |
| template<typename T> | |
| T | rex::next_pow2 (T value) |
| constexpr u32 | rex::MakeBitmask (u32 a, u32 b) |
| constexpr u32 | rex::select_bits (u32 value, u32 a, u32 b) |
| template<class T> | |
| constexpr u32 | rex::BitCount (T v) |
| u8 | rex::lzcnt (u8 v) |
| u8 | rex::lzcnt (u16 v) |
| u8 | rex::lzcnt (u32 v) |
| u8 | rex::lzcnt (u64 v) |
| u8 | rex::tzcnt (u8 v) |
| u8 | rex::tzcnt (u16 v) |
| u8 | rex::tzcnt (u32 v) |
| u8 | rex::tzcnt (u64 v) |
| u8 | rex::lzcnt (i8 v) |
| u8 | rex::lzcnt (i16 v) |
| u8 | rex::lzcnt (i32 v) |
| u8 | rex::lzcnt (i64 v) |
| u8 | rex::tzcnt (i8 v) |
| u8 | rex::tzcnt (i16 v) |
| u8 | rex::tzcnt (i32 v) |
| u8 | rex::tzcnt (i64 v) |
| bool | rex::bit_scan_forward (u32 v, u32 *out_first_set_index) |
| bool | rex::bit_scan_forward (u64 v, u32 *out_first_set_index) |
| bool | rex::bit_scan_forward (i32 v, u32 *out_first_set_index) |
| bool | rex::bit_scan_forward (i64 v, u32 *out_first_set_index) |
| template<typename T> | |
| T | rex::log2_floor (T v) |
| template<typename T> | |
| T | rex::log2_ceil (T v) |
| template<typename T> | |
| T | rex::RotateLeft (T v, u8 sh) |
| template<typename Block> | |
| std::pair< size_t, size_t > | rex::GetNextRangeUnset (const Block *bits, size_t first, size_t length) |
| template<typename Block> | |
| void | rex::SetRange (Block *bits, size_t first, size_t length) |
| template<FlagsEnum E> | |
| constexpr E | rex::operator| (E lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr E | rex::operator& (E lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr E | rex::operator^ (E lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr E | rex::operator~ (E value) |
| template<FlagsEnum E> | |
| constexpr E & | rex::operator|= (E &lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr E & | rex::operator&= (E &lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr E & | rex::operator^= (E &lhs, E rhs) |
| template<FlagsEnum E> | |
| constexpr bool | rex::HasFlags (E value, E flags) |
| template<typename Dst, typename Src> | |
| void | rex::Reinterpret (Dst &REX_RESTRICT_VAR dst, const Src &REX_RESTRICT_VAR src) |
| template<typename Dst, typename Src> | |
| Dst | rex::Reinterpret (const Src &REX_RESTRICT_VAR src) |
| bool | rex::AreBitsEqual (std::span< const f32 > a, std::span< const f32 > b) |
Variables | |
| template<typename E> | |
| constexpr bool | rex::is_flags_enum = false |
| #define REX_RESTRICT_VAR __restrict |
Restrict qualifier for variable declarations. Not for return values or the this pointer.