rt.arrayassign

Implementation of array assignment support routines.

Members

Functions

_d_arrayassign
void[] _d_arrayassign(TypeInfo ti, void[] from, void[] to)

Keep for backward binary compatibility. This function can be removed in the future.

_d_arrayassign_l
void[] _d_arrayassign_l(TypeInfo ti, void[] src, void[] dst, void* ptmp)

Does array assignment (not construction) from another lvalue array of the same element type. Handles overlapping copies. Input: ti TypeInfo of the element type. dst Points target memory. Its .length is equal to the element count, not byte length. src Points source memory. Its .length is equal to the element count, not byte length. ptmp Temporary memory for element swapping.

_d_arrayassign_r
void[] _d_arrayassign_r(TypeInfo ti, void[] src, void[] dst, void* ptmp)

Does array assignment (not construction) from another rvalue array of the same element type. Input: ti TypeInfo of the element type. dst Points target memory. Its .length is equal to the element count, not byte length. src Points source memory. Its .length is equal to the element count, not byte length. It is always allocated on stack and never overlapping with dst. ptmp Temporary memory for element swapping.

_d_arrayctor
void[] _d_arrayctor(TypeInfo ti, void[] from, void[] to)

Does array initialization (not assignment) from another array of the same element type. ti is the element type.

_d_arraysetassign
void* _d_arraysetassign(void* p, void* value, int count, TypeInfo ti)

Do assignment to an array. p[0 .. count] = value;

_d_arraysetctor
void* _d_arraysetctor(void* p, void* value, int count, TypeInfo ti)

Do construction of an array. ticount p = value;

Meta

License

Distributed under the Boost Software License 1.0.

Authors

Walter Bright, Kenji Hara

Suggestion Box / Bug Report