CommonLibSSE (powerof3)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
REL Namespace Reference

Namespaces

 detail
 

Classes

class  Version
 
class  Segment
 
class  Module
 
class  IDDatabase
 
class  Offset
 
class  ID
 
class  Relocation
 

Functions

template<class F , class... Args>
std::invoke_result_t< F, Args... > invoke (F &&a_func, Args &&... a_args) noexcept(std::is_nothrow_invocable_v< F, Args... >) requires(std
 
void safe_write (std::uintptr_t a_dst, const void *a_src, std::size_t a_count)
 
template<std::integral T>
void safe_write (std::uintptr_t a_dst, const T &a_data)
 
template<class T >
void safe_write (std::uintptr_t a_dst, std::span< T > a_data)
 
void safe_fill (std::uintptr_t a_dst, std::uint8_t a_value, std::size_t a_count)
 
constexpr bool operator== (const Version &a_lhs, const Version &a_rhs) noexcept
 
constexpr std::strong_ordering operator<=> (const Version &a_lhs, const Version &a_rhs) noexcept
 
std::optional< Versionget_file_version (stl::zwstring a_filename)
 
template<stl::nttp::string S>
constexpr auto make_pattern () noexcept
 

Variables

constexpr std::uint8_t NOP = 0x90
 
constexpr std::uint8_t RET = 0xC3
 
constexpr std::uint8_t INT3 = 0xCC
 

Function Documentation

◆ get_file_version()

std::optional<Version> REL::get_file_version ( stl::zwstring  a_filename)
inline

◆ invoke()

template<class F , class... Args>
std::invoke_result_t<F, Args...> REL::invoke ( F &&  a_func,
Args &&...  a_args 
)
noexcept

◆ make_pattern()

template<stl::nttp::string S>
constexpr auto REL::make_pattern ( )
constexprnoexcept

◆ operator<=>()

constexpr std::strong_ordering REL::operator<=> ( const Version a_lhs,
const Version a_rhs 
)
constexprnoexcept

◆ operator==()

constexpr bool REL::operator== ( const Version a_lhs,
const Version a_rhs 
)
constexprnoexcept

◆ safe_fill()

void REL::safe_fill ( std::uintptr_t  a_dst,
std::uint8_t  a_value,
std::size_t  a_count 
)
inline

◆ safe_write() [1/3]

template<std::integral T>
void REL::safe_write ( std::uintptr_t  a_dst,
const T &  a_data 
)

◆ safe_write() [2/3]

void REL::safe_write ( std::uintptr_t  a_dst,
const void *  a_src,
std::size_t  a_count 
)
inline

◆ safe_write() [3/3]

template<class T >
void REL::safe_write ( std::uintptr_t  a_dst,
std::span< T >  a_data 
)

Variable Documentation

◆ INT3

constexpr std::uint8_t REL::INT3 = 0xCC
inlineconstexpr

◆ NOP

constexpr std::uint8_t REL::NOP = 0x90
inlineconstexpr

◆ RET

constexpr std::uint8_t REL::RET = 0xC3
inlineconstexpr