microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount > Class Template Reference

Layout wrapper for a remote intrusive pointer. More...

#include <remote_smart_ptr.hpp>

Public Member Functions

constexpr remote_intrusive_ptr () noexcept
 
constexpr remote_intrusive_ptr (RemotePtr ptr) noexcept
 
constexpr uintptr_t address () const noexcept
 
constexpr bool is_null () const noexcept
 
constexpr operator bool () const noexcept
 

Static Public Member Functions

static constexpr ptrdiff_t ref_count_offset () noexcept
 

Detailed Description

template<typename T, ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
class microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >

Layout wrapper for a remote intrusive pointer.

Template Parameters
TPointee type.
RefCountOffsetOffset in the pointee to its reference count.
RemotePtrPointer representation in the target process.
RemoteRefCountReference-count representation in the target process.

Constructor & Destructor Documentation

◆ remote_intrusive_ptr() [1/2]

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
constexpr microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::remote_intrusive_ptr ( )
inlineconstexprnoexcept

◆ remote_intrusive_ptr() [2/2]

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
constexpr microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::remote_intrusive_ptr ( RemotePtr  ptr)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ address()

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
constexpr uintptr_t microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::address ( ) const
inlineconstexprnoexcept

◆ is_null()

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
constexpr bool microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::is_null ( ) const
inlineconstexprnoexcept

◆ operator bool()

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
constexpr microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ ref_count_offset()

template<typename T , ptrdiff_t RefCountOffset = 0, typename RemotePtr = uintptr_t, typename RemoteRefCount = int32_t>
static constexpr ptrdiff_t microfmt::remote_intrusive_ptr< T, RefCountOffset, RemotePtr, RemoteRefCount >::ref_count_offset ( )
inlinestaticconstexprnoexcept

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