|
| REL::detail::REL_MAKE_MEMBER_FUNCTION_POD_TYPE () |
|
| REL::detail::REL_MAKE_MEMBER_FUNCTION_POD_TYPE (const) |
|
| REL::detail::REL_MAKE_MEMBER_FUNCTION_NON_POD_TYPE () |
|
| REL::detail::REL_MAKE_MEMBER_FUNCTION_NON_POD_TYPE (const) |
|
template<class F , class First , class... Rest> |
decltype(auto) | REL::detail::invoke_member_function_non_pod (F &&a_func, First &&a_first, Rest &&... a_rest) noexcept(std::is_nothrow_invocable_v< F, First, Rest... >) |
|
template<class F , class... Args> |
std::invoke_result_t< F, Args... > | REL::invoke (F &&a_func, Args &&... a_args) noexcept(std::is_nothrow_invocable_v< F, Args... >) requires(std |
|
void | REL::safe_write (std::uintptr_t a_dst, const void *a_src, std::size_t a_count) |
|
template<std::integral T> |
void | REL::safe_write (std::uintptr_t a_dst, const T &a_data) |
|
template<class T > |
void | REL::safe_write (std::uintptr_t a_dst, std::span< T > a_data) |
|
void | REL::safe_fill (std::uintptr_t a_dst, std::uint8_t a_value, std::size_t a_count) |
|
template<class T > |
SKYRIM_ADDR T | REL::Relocate ([[maybe_unused]] T &&a_seAndVR, [[maybe_unused]] T &&a_ae) noexcept |
|
template<class T > |
SKYRIM_REL T | REL::Relocate ([[maybe_unused]] T a_se, [[maybe_unused]] T a_ae, [[maybe_unused]] T a_vr) noexcept |
|
template<class Fn , class... Args> |
detail::RelocateVirtualHelper< Fn >::return_type | REL::RelocateVirtual ([[maybe_unused]] std::ptrdiff_t a_seAndAEVtableOffset, [[maybe_unused]] std::ptrdiff_t a_vrVtableOffset, [[maybe_unused]] std::ptrdiff_t a_seAndAEVtableIndex, [[maybe_unused]] std::ptrdiff_t a_vrVtableIndex, typename detail::RelocateVirtualHelper< Fn >::this_type *a_self, Args &&... a_args) |
|
template<class Fn , class... Args> |
detail::RelocateVirtualHelper< Fn >::return_type | REL::RelocateVirtual (std::ptrdiff_t a_seAndAEVtableIndex, std::ptrdiff_t a_vrVtableIndex, typename detail::RelocateVirtualHelper< Fn >::this_type *a_self, Args &&... a_args) |
|
template<class T , class This > |
T & | REL::RelocateMember (This *a_self, std::ptrdiff_t a_seAndAE, std::ptrdiff_t a_vr) |
|
template<class T , class This > |
T & | REL::RelocateMember (This *a_self, std::ptrdiff_t offset) |
|
template<class T , class This > |
T & | REL::RelocateMemberIf (bool condition, This *a_self, std::ptrdiff_t a, std::ptrdiff_t b) |
|
template<class T , class This > |
T & | REL::RelocateMemberIfNewer (Version v, This *a_self, std::ptrdiff_t older, std::ptrdiff_t newer) |
|
|
template<class T > |
constexpr bool | REL::detail::is_x64_pod_v = is_x64_pod<T>::value |
|
constexpr std::uint8_t | REL::NOP = 0x90 |
|
constexpr std::uint8_t | REL::NOP2 [] = { 0x66, 0x90 } |
|
constexpr std::uint8_t | REL::NOP3 [] = { 0x0F, 0x1F, 0x00 } |
|
constexpr std::uint8_t | REL::NOP4 [] = { 0x0F, 0x1F, 0x40, 0x00 } |
|
constexpr std::uint8_t | REL::NOP5 [] = { 0x0F, 0x1F, 0x44, 0x00, 0x00 } |
|
constexpr std::uint8_t | REL::NOP6 [] = { 0x66, 0x0F, 0x1F, 0x44, 0x00, 0x00 } |
|
constexpr std::uint8_t | REL::NOP7 [] = { 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00 } |
|
constexpr std::uint8_t | REL::NOP8 [] = { 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 } |
|
constexpr std::uint8_t | REL::NOP9 [] = { 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 } |
|
constexpr std::uint8_t | REL::JMP8 = 0xEB |
|
constexpr std::uint8_t | REL::JMP32 = 0xE9 |
|
constexpr std::uint8_t | REL::RET = 0xC3 |
|
constexpr std::uint8_t | REL::INT3 = 0xCC |
|