loadMerged.loadMerged

Performs a merged load from dst to a sequence of variables.

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

template loadMerged(VARS...)
pure @nogc @trusted
void
loadMerged
(
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 read fields from.

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