View source code Display the source code in std/algorithm/mutation.d from which this page was generated on github. Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

Function std.algorithm.mutation.moveAll

For each element a in src and each element b in tgt in lockstep in increasing order, calls move(a, b).

Prototype

Range2 moveAll(Range1, Range2)(
  Range1 src,
  Range2 tgt
)
if (isInputRange!Range1 && isInputRange!Range2 && is(typeof(move(src.front, tgt.front))));

Preconditions

walkLength(src) <= walkLength(tgt). An exception will be thrown if this condition does not hold, i.e., there is not enough room in tgt to accommodate all of src.

Parameters

NameDescription
src An input range with movable elements.
tgt An input range with elements that elements from src can be moved into.

Returns

The leftover portion of tgt after all elements from src have been moved.

Example

int[] a = [ 1, 2, 3 ];
int[] b = new int[5];
assert(moveAll(a, b) is b[3 .. $]);
assert(a == b[0 .. 3]);
assert(a == [ 1, 2, 3 ]);

Authors

Andrei Alexandrescu

License

Boost License 1.0.

Comments