storeMerged.storeMerged

Performs a merged store on dst from a sequence of fields.

This is done by portioning all fields to as little writes as necessary, and then doing hardware-accelerated writes to set all field data. This can be substantially faster than normal set operations.

template storeMerged(VARS...)
pure @nogc @trusted
void
storeMerged
(
A
)
(
ref A dst
)
if (
(
allSatisfy!(isLocal, VARS) ||
allSatisfy!(isField, VARS)
)
&&
VARS.length >= 1
)

Parameters

VARS

The variables that will be written to dst as field data.

dst A

The destination data to write fields to.

Remarks: - All variables in VARS must be sequentially ordered in stack memory. - All variables in VARS must be named as the fields in dst they correspond to, or have a mergeAs!(T.x) attribute set. - This may be unusable in situations where the compiler does memory operations due to the aforementioned.

Meta