Remodel
remodel Namespace Reference

Namespaces

 internal
 
 platform
 

Classes

class  AbsGetter
 PtrGetter functor ignoring the passed raw address, always returning a fixed address. More...
 
class  AdvancedClassWrapper
 Advanced version of the base class for wrappers. More...
 
class  ClassWrapper
 Base class for class wrappers. More...
 
class  Field
 Class representing a field (attribute, member variable) of a wrapper class. More...
 
struct  Function
 Function wrapper template. More...
 
class  Global
 Allows declaration of global variables as fields using absolute addresses. More...
 
struct  MemberFunction
 Member function wrapper template. More...
 
class  Module
 Allows declaration of global variables as fields using module relative addresses. More...
 
class  OffsGetter
 PtrGetter functor adding an offset to the passed raw address. More...
 
class  VfTableGetter
 PtrGetter functor obtaining a function address using the virtual function table. More...
 
struct  VirtualFunction
 Convenience wrapper around MemberFunction constructing from a vftable index. More...
 
struct  WeakWrapper
 Weak wrapper helper type. More...
 

Functions

template<typename WrapperT >
WrapperT wrapper_cast (void *raw)
 Creates a wrapper from a "raw" void pointer. More...
 
template<typename WrapperT >
WrapperT wrapper_cast (uintptr_t raw)
 Creates a wrapper from a "raw" pointer in uintptr_t representation. More...
 
template<typename WrapperT >
zycore::CloneConst< WrapperT, void > * addressOfObj (WrapperT &wrapper)
 Obtains the address of an object wrapped by this field/wrapper. More...
 
template<typename WrapperT >
WrapperT * addressOfWrapper (WrapperT &wrapper)
 Obtains the address of a field/wrapper (NOT of the wrapped object). More...
 

Function Documentation

◆ addressOfObj()

template<typename WrapperT >
zycore::CloneConst<WrapperT, void>* remodel::addressOfObj ( WrapperT &  wrapper)
inline

Obtains the address of an object wrapped by this field/wrapper.

Template Parameters
WrapperTType of the wrapper.
Parameters
wrapperThe wrapper.
Returns
The address of the wrapped object.

Definition at line 624 of file Remodel.hpp.

◆ addressOfWrapper()

template<typename WrapperT >
WrapperT* remodel::addressOfWrapper ( WrapperT &  wrapper)
inline

Obtains the address of a field/wrapper (NOT of the wrapped object).

Template Parameters
WrapperTType of the wrapper.
Parameters
wrapperThe wrapper.
Returns
The address of the wrapper.

Definition at line 640 of file Remodel.hpp.

◆ wrapper_cast() [1/2]

template<typename WrapperT >
WrapperT remodel::wrapper_cast ( void *  raw)
inline

Creates a wrapper from a "raw" void pointer.

Template Parameters
WrapperTThe wrapper type to create.
Parameters
rawThe raw pointer to create the wrapper from.
Note
The naming convention violated here because, well, casts should look this way.
Returns
The resulting wrapper.

Definition at line 600 of file Remodel.hpp.

◆ wrapper_cast() [2/2]

template<typename WrapperT >
WrapperT remodel::wrapper_cast ( uintptr_t  raw)
inline

Creates a wrapper from a "raw" pointer in uintptr_t representation.

Template Parameters
WrapperTThe wrapper type to create.
Parameters
rawThe raw pointer to create the wrapper from.
Note
The naming convention violated here because, well, casts should look this way.
Returns
The resulting wrapper.

Definition at line 611 of file Remodel.hpp.