#include <genericdata.h>
GenericData wraps an object of arbitary type. Therefore it's similar to Data, but it supports less operations:
The advantage is that you don't need to register the type of the wrapped object as a DataType.
Public Member Functions | |
| GenericData ()=default | |
| GenericData (GenericData &&src) | |
| MAXON_OPERATOR_MOVE_ASSIGNMENT (GenericData) | |
| void | Reset () |
| ~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.
|
staticprivate |
|
private |
|
private |