ReXGlue SDK
Loading...
Searching...
No Matches
rex::memory::MappedPtr< void > Class Reference

#include <rex/memory/mapped_ptr.h>

Public Member Functions

 MappedPtr ()=default
 MappedPtr (void *host_ptr, u32 guest_addr)
 MappedPtr (std::nullptr_t)
u32 GetGuestAddress () const
u32 GetValue () const
void * GetHostPtr () const
 operator void * () const
 operator u8 * () const
 operator bool () const
 operator u32 () const
template<std::integral IntType>
MappedPtr operator+ (IntType offset) const
template<std::integral IntType>
MappedPtr operator- (IntType offset) const
template<typename U>
U As () const
template<typename U>
rex::BE< U > * AsArray () const
void Zero (size_t size) const
 operator void * () const
void * operator-> () const
void & operator* () const

Static Public Member Functions

static MappedPtr FromHost (void *host_ptr)

Detailed Description

Untyped MappedPtr. Offsets count bytes.

Constructor & Destructor Documentation

◆ MappedPtr() [1/2]

rex::memory::MappedPtr< void >::MappedPtr ( )
default

Null pointer at guest address 0.

◆ MappedPtr() [2/2]

rex::memory::MappedPtr< void >::MappedPtr ( std::nullptr_t )
inline

Null pointer at guest address 0.

Member Function Documentation

◆ AsArray()

template<typename U>
rex::BE< U > * rex::memory::MappedPtr< void >::AsArray ( ) const
inline
Returns
The host pointer as an array of big endian U values.

◆ FromHost()

MappedPtr rex::memory::MappedPtr< void >::FromHost ( void * host_ptr)
inlinestatic
Returns
A MappedPtr with guest address 0.

◆ operator u8 *()

rex::memory::MappedPtr< void >::operator u8 * ( ) const
inline
Returns
The host pointer as bytes.

◆ operator+()

template<std::integral IntType>
MappedPtr rex::memory::MappedPtr< void >::operator+ ( IntType offset) const
inline
Template Parameters
IntTypeThe integral offset type.
Parameters
offsetBytes to advance.
Returns
A MappedPtr with both addresses advanced by offset bytes.

◆ operator-()

template<std::integral IntType>
MappedPtr rex::memory::MappedPtr< void >::operator- ( IntType offset) const
inline
Template Parameters
IntTypeThe integral offset type.
Parameters
offsetBytes to move back.
Returns
A MappedPtr with both addresses moved back by offset bytes.

◆ Zero()

void rex::memory::MappedPtr< void >::Zero ( size_t size) const
inline

Zeroes bytes at the host pointer. Does nothing when it is null.


The documentation for this class was generated from the following file: