libyggdrasil
v1.0.0
|
Namespaces | |
asg | |
asg_coproc | |
core | |
drv | |
math | |
mid | |
scope_guard | |
ygg | |
Classes | |
struct | BitField |
Bitfield abstraction. Provides a way to read from, write to and pass around bitfields within registers as if they were normal variables. More... | |
struct | ByteSwapped |
Helper class to store the data of a given type in reverse order. More... | |
struct | dependent_false |
Helper type trait for using static_asserts that should always trigger an error when evaluated. More... | |
struct | Register |
MMIO Register abstraction. Gives access to bitfields within the register as well as a reference to the register value itself. More... | |
struct | TypeSafe |
Helper class to create type-safe integral types. More... | |
Typedefs | |
template<typename T > | |
using | IO = volatile T |
MMIO type template. More... | |
Functions | |
template<typename To , typename From > | |
To | bit_cast (const From &src) noexcept |
std::bit_cast implementation for doing reinterpret_cast-style conversion without invoking undefined behaviour More... | |
template<typename T > | |
constexpr T | byteSwap (T value) |
Swaps bytes of input value to convert between big and little endian. More... | |
template<typename T > | |
auto | enumValue (T value) |
Casts a scoped enum type into its underlying value. More... | |
ALWAYS_INLINE void | doNotOptimize (const auto &value) |
Confuses the compiler to prevent it from optimizing out a variable. Helpful for debugging. More... | |
Variables | |
template<typename T > | |
constexpr auto | dependent_false_v = dependent_false<T>::value |
using | addr_t = std::uint32_t |
ARM32 specific types. More... | |
using | reg_t = std::uint32_t |
constexpr auto | RegisterAlignment = alignof(reg_t) |
ARM32 specific constants. More... | |
using bsp::addr_t = typedef std::uint32_t |
ARM32 specific types.
using bsp::IO = typedef volatile T |
MMIO type template.
T | Type to access |
using bsp::reg_t = typedef std::uint32_t |
|
noexcept |
std::bit_cast implementation for doing reinterpret_cast-style conversion without invoking undefined behaviour
To | Type to cast to |
src | Value to bit-cast to type of To |
|
constexpr |
Swaps bytes of input value to convert between big and little endian.
value | Integral value to swap |
T | Type of value to swap |
ALWAYS_INLINE void bsp::doNotOptimize | ( | const auto & | value | ) |
Confuses the compiler to prevent it from optimizing out a variable. Helpful for debugging.
value | Variable to prevent optimization of |
auto bsp::enumValue | ( | T | value | ) |
Casts a scoped enum type into its underlying value.
T | Enum type |
value | Enum value |
|
constexpr |
|
constexpr |
ARM32 specific constants.