Ark Server API (ASA) - Wiki
|
#include <InlineValue.h>
Private Types | |
enum | |
Private Member Functions | |
template<typename T , typename... ArgsType> | |
void | InitializeFrom (ArgsType &&... Args) |
void | ConditionallyAllocateObject (uint32 Size, uint32 Alignment) |
void | ConditionallyDestroyAllocation () |
Private Attributes | |
TAlignedBytes< MaxInlineSize, DefaultAlignment > | Data |
bool | bIsValid: 1 |
bool | bInline: 1 |
A container type that houses an instance of BaseType in inline memory where it is <= MaxInlineSize, or in a separate heap allocation where it's > MaxInlineSize.
Can be viewed as a TUniquePtr with a small allocation optimization.
Definition at line 21 of file InlineValue.h.
~We cannot allow an allocation of less than the size of a pointer
Definition at line 229 of file InlineValue.h.
|
inline |
Default construction to an empty container
Definition at line 27 of file InlineValue.h.
|
inline |
Construction from any type relating to BaseType.
Definition at line 39 of file InlineValue.h.
|
inline |
In-place construction of BaseType from a set of arguments.
Definition at line 49 of file InlineValue.h.
|
inline |
Destructor
Definition at line 58 of file InlineValue.h.
|
inline |
Move construction/assignment
Definition at line 66 of file InlineValue.h.
|
delete |
Copy construction/assignment is disabled
|
inlineprivate |
Definition at line 209 of file InlineValue.h.
|
inlineprivate |
Definition at line 219 of file InlineValue.h.
|
inline |
Emplace a new type (deriving from BaseType) into this inline value
Definition at line 130 of file InlineValue.h.
|
inline |
Get the wrapped object, or a user-specified default
Definition at line 159 of file InlineValue.h.
|
inline |
Get a pointer the wrapped object, or a user-specified default
Definition at line 168 of file InlineValue.h.
|
inline |
Access the wrapped object's base type
Definition at line 149 of file InlineValue.h.
|
inlineprivate |
Definition at line 195 of file InlineValue.h.
|
inline |
Check if this container is wrapping a valid object
Definition at line 140 of file InlineValue.h.
|
inline |
Definition at line 173 of file InlineValue.h.
|
inline |
Definition at line 174 of file InlineValue.h.
|
delete |
|
inline |
Move assignment from any type relating to BaseType.
Definition at line 87 of file InlineValue.h.
|
inline |
Definition at line 71 of file InlineValue.h.
|
inline |
Reserve space for a structure derived from BaseType, of the size and alignment specified .
Definition at line 180 of file InlineValue.h.
|
inline |
Reset this container back to its empty state
Definition at line 114 of file InlineValue.h.
|
inline |
Reset this container to wrap a new type
Definition at line 96 of file InlineValue.h.
|
private |
true where InlineBytes points to a valid BaseType&, false if it's a heap allocated BaseType*
Definition at line 238 of file InlineValue.h.
|
private |
true where this container is wrapping a valid object
Definition at line 235 of file InlineValue.h.
|
private |
Type-erased bytes containing either a BaseType& or heap allocated BaseType*
Definition at line 232 of file InlineValue.h.