Luna::move_assign_type_range
void move_assign_type_range(typeinfo_t type, void *dst, void *src, usize count)
Move assigns one array of instances of the specified type.
The assignment is performed as follows:1. If type is a trivially move assignable type, use memcpy to move instance data.
-
If
typeis a non-trivially-move-assignable type with user defined move assignment function, calls the function. -
If
typeis a non-trivially-move-assignable type without user defined move assignment function, move assigns every property of the structure recursively.
Parameters
-
in type
The type object.
-
in dst
The pointer to the instance array to be move assigned.
-
in src
The pointer to the instance array to move data from.
-
in count
The number of instances to assign.
Valid Usage
-
typemust specify one valid type object and cannot be a generic structure type. -
dstandsrcmust specify one valid memory address.