CommonLibSSE (powerof3)
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