ISource2ModMemory Source2Mod-facing memory address wrapper (mirrors DynLibUtils::CMemory).
Plugins use this value type instead of DynLibUtils::CMemory directly so they remain decoupled from the DynLibUtils headers. The implementation is identical: every method delegates 1:1 to the underlying arithmetic.
Header source2mod/ISource2ModMemory.h
ISource2ModMemory ();
ISource2ModMemory ( const ISource2ModMemory & ) noexcept = default ;
ISource2ModMemory (ISource2ModMemory && other) noexcept ;
ISource2ModMemory ( const uintptr_t ptr);
ISource2ModMemory ( const void* ptr);
inline void* GetPtr () const noexcept ;
The address as a pointer.
inline uintptr_t GetAddr () const noexcept ;
The same address as an integer.
template < class T > inline T GetValue () const noexcept ;
template < typename T > inline T CCast () const noexcept ;
template < typename T > inline T RCast () const noexcept ;
template < typename T > inline T UCast () const noexcept ;
inline ISource2ModMemory Offset ( ptrdiff_t offset ) const noexcept ;
Parameter Type offsetptrdiff_t
inline ISource2ModMemory & OffsetSelf ( ptrdiff_t offset ) noexcept ;
Parameter Type offsetptrdiff_t
inline ISource2ModMemory Deref ( int deref = 1 ) const ;
Parameter Type Default derefint1
inline ISource2ModMemory & DerefSelf ( int deref = 1 );
Parameter Type Default derefint1
inline ISource2ModMemory FollowNearCall ( const ptrdiff_t opcodeOffset = 0x 1 , const ptrdiff_t nextInstructionOffset = 0x 5 ) const ;
Parameter Type Default opcodeOffsetconst ptrdiff_t0x1nextInstructionOffsetconst ptrdiff_t0x5
inline ISource2ModMemory & FollowNearCallSelf ( const ptrdiff_t opcodeOffset = 0x 1 , const ptrdiff_t nextInstructionOffset = 0x 5 );
Parameter Type Default opcodeOffsetconst ptrdiff_t0x1nextInstructionOffsetconst ptrdiff_t0x5
inline ISource2ModMemory ResolveRelativeAddress ( const ptrdiff_t registerOffset = 0x 0 , const ptrdiff_t nextInstructionOffset = 0x 4 ) const ;
Parameter Type Default registerOffsetconst ptrdiff_t0x0nextInstructionOffsetconst ptrdiff_t0x4
inline ISource2ModMemory & ResolveRelativeAddressSelf ( const ptrdiff_t registerOffset = 0x 0 , const ptrdiff_t nextInstructionOffset = 0x 4 );
Parameter Type Default registerOffsetconst ptrdiff_t0x0nextInstructionOffsetconst ptrdiff_t0x4