#include <genericdata.h>
GenericData wraps an object of arbitary type. Therefore it's similar to 数据 , but it supports less operations:
The advantage is that you don't need to register the type of the wrapped object as a DataType .
公共成员函数 |
|
GenericData ()=default | |
GenericData ( GenericData && src ) | |
MAXON_OPERATOR_MOVE_ASSIGNMENT ( GenericData ) | |
void | 重置 () |
~GenericData () | |
template<typename T > | |
Result < void > | Set (T &&value) |
Bool | IsEmpty () const |
Bool | IsPopulated () const |
template<typename T > | |
const T & | Get () const |
template<typename T > | |
T & | Get () |
const void * | GetPointer () const |
void * | GetPointer () |
Static Private Member Functions |
|
template<typename T > | |
static void | Free ( GenericData *v) |
Private Attributes |
|
void * | _ptr |
void(* | _free )( GenericData *) |
|
default |
Constructs an empty GenericData .
GenericData | ( | GenericData && | src | ) |
Constructs a GenericData by moving the contents of src to the new GenericData . src will be an empty GenericData afterwards.
[in,out] | src | The source object. |
~ GenericData | ( | ) |
Destructs this GenericData . This frees any previously set value.
MAXON_OPERATOR_MOVE_ASSIGNMENT | ( | GenericData | ) |
void Reset | ( | ) |
Resets this GenericData to an empty object. This frees any previously set value.
Result <void> Set | ( | T && | value | ) |
Initializes this GenericData with value. This frees any previously set value at first.
[in] | value | The value to wrap. |
Bool IsEmpty | ( | ) | const |
Checks if this GenericData is empty.
Bool IsPopulated | ( | ) | const |
Checks if this GenericData has a wrapped value.
const T& Get | ( | ) | const |
Returns the wrapped value. The type T has to match the exact type of the wrapped value, otherwise the behaviour is undetermined. There is no check that the type matches.
T | The type of the wrapped value. |
T& Get | ( | ) |
Returns the wrapped value. The type T has to match the exact type of the wrapped value, otherwise the behaviour is undetermined. There is no check that the type matches.
T | The type of the wrapped value. |
const void* GetPointer | ( | ) | const |
Returns a pointer to the wrapped value.
void* GetPointer | ( | ) |
Returns a pointer to the wrapped value.
|
static private |
void* _ptr | private |
|
private |