Luna::StructureTypeDesc
Describes one structure type.
struct Luna::StructureTypeDesc
Member objects
-
The GUID of the structure type. This should be unique for every type.
-
The name of the structure type.
-
The alias of the structure type. This can be empty. The alias is used to identify types with the same name. This can be used for generic specialization types.
-
The size of the structure type, this should include the size for the base type of this type.
-
The alignment of the structure type.
-
The base type of this structure type.
-
The constructor function for this type. If
nullptr
, the default constructor will be used. See remarks of construct_type for default constructor behavior. -
The destructor function for this type. If
nullptr
, the default destructor will be used. See remarks of destruct_type for default constructor behavior. -
structure_copy_ctor_t* copy_ctor
The copy constructor for this type. If
nullptr
, the default copy constructor will be used. See remarks of copy_construct_type for default constructor behavior. -
structure_move_ctor_t* move_ctor
The move constructor for this type. If
nullptr
, the default move constructor will be used. See remarks of move_construct_type for default constructor behavior. -
structure_copy_assign_t* copy_assign
The copy assignment operator for this type. If
nullptr
, the default copy assignment operator will be used. See remarks of copy_assign_type for default constructor behavior. -
structure_move_assign_t* move_assign
The mvoe assignment operator for this type. If
nullptr
, the default move assignment operator will be used. See remarks of move_assign_type for default constructor behavior. -
The properties of this structure type.
-
Whether this structure is trivially relocatable. One structure is trivially relocatable if its content can be moved to another memory address using memcpy, and using the instance on new memory location behaves the same as the instance on old memory location.