Ark Server API (ASA) - Wiki
|
#include <MemoryImage.h>
Public Types | |
using | FPtrTable = TPtrTableBase<T, PtrType> |
Public Member Functions | |
TIndexedPtrBase (T *InPtr=nullptr) | |
~TIndexedPtrBase () | |
TIndexedPtrBase (const TIndexedPtrBase< T, PtrType > &Rhs) | |
TIndexedPtrBase (const TIndexedPtrBase< T, PtrType > &Rhs, const FPtrTable &InTable) | |
TIndexedPtrBase & | operator= (T *Rhs) |
TIndexedPtrBase & | operator= (const PtrType &Rhs) |
TIndexedPtrBase & | operator= (PtrType &&Rhs) |
bool | IsFrozen () const |
bool | IsValid () const |
bool | IsNull () const |
void | SafeRelease () |
T * | Get (const FPtrTable &PtrTable) const |
T * | Get (const FPointerTableBase *PtrTable) const |
T * | GetUnfrozen () const |
Private Types | |
enum | { IsFrozenMask = (1 << 0) , IndexShift = 1 } |
Static Private Member Functions | |
static void | SafeReleaseImpl (T *&InPtr) |
static void | SafeReleaseImpl (TRefCountPtr< T > &InPtr) |
Private Attributes | ||
union { | ||
PtrType Ptr | ||
uint64 PackedIndex | ||
}; | ||
Note that IndexedPtr types don't declare a default intrinsic type layout. Instead any required pointer types need to be declared/implemented using DECLARE_EXPORTED_TEMPLATE_INTRINSIC_TYPE_LAYOUT/IMPLEMENT_TEMPLATE_INTRINSIC_TYPE_LAYOUT. The TypeDesc of indexed pointers are compared for equality when adding to pointer tables, and it's possible for inline type layouts to generate multiple copies when referenced from multiple modules
Definition at line 1041 of file MemoryImage.h.
using TIndexedPtrBase< T, PtrType >::FPtrTable = TPtrTableBase<T, PtrType> |
Definition at line 1044 of file MemoryImage.h.
Enumerator | |
---|---|
IsFrozenMask | |
IndexShift |
Definition at line 1115 of file MemoryImage.h.
|
inline |
Definition at line 1046 of file MemoryImage.h.
|
inline |
Definition at line 1047 of file MemoryImage.h.
|
inline |
Definition at line 1050 of file MemoryImage.h.
|
inline |
Definition at line 1052 of file MemoryImage.h.
|
inline |
Definition at line 1101 of file MemoryImage.h.
|
inline |
Definition at line 1092 of file MemoryImage.h.
|
inline |
Definition at line 1112 of file MemoryImage.h.
|
inline |
Definition at line 1080 of file MemoryImage.h.
|
inline |
Definition at line 1082 of file MemoryImage.h.
|
inline |
Definition at line 1081 of file MemoryImage.h.
|
inline |
Definition at line 1064 of file MemoryImage.h.
|
inline |
Definition at line 1072 of file MemoryImage.h.
|
inline |
Definition at line 1054 of file MemoryImage.h.
Definition at line 1084 of file MemoryImage.h.
|
inlinestaticprivate |
Definition at line 1121 of file MemoryImage.h.
|
inlinestaticprivate |
Definition at line 1130 of file MemoryImage.h.
union { ... } TIndexedPtrBase< T, PtrType > |
Definition at line 1139 of file MemoryImage.h.
PtrType TIndexedPtrBase< T, PtrType >::Ptr |
Definition at line 1138 of file MemoryImage.h.