Function Array.insertAfter
Inserts el before or after r.
size_t insertAfter(R)
(
Array . Range r,
scope R el
)
if (!isInfinite!R && isInputRange!R && isImplicitlyConvertible!(ElementType!R, T));
size_t insertAfter(size_t R)
(
Array . Range r,
T[R] el
);
size_t insertAfter(R)
(
Array . Range r,
auto ref R el
)
if (isImplicitlyConvertible!(R, T));
Parameters
Name | Description |
---|---|
R | Type of the inserted value(s) (single value, range or static array). |
r | Range originally obtained from this array. |
el | Value(s) should be inserted. |
Returns
The number of elements inserted.
Precondition
r refers to a region of this.
Example
Array!int v1;
v1 .insertAfter(v1[], [2, 8]);
assert(v1[0] == 2);
assert(v1[1] == 8);
assert(v1 .length == 2);
v1 .insertAfter(v1[], [1, 2]);
assert(v1[0] == 2);
assert(v1[1] == 8);
assert(v1[2] == 1);
assert(v1[3] == 2);
assert(v1 .length == 4);
v1 .insertAfter(v1[0 .. 0], [1, 2]);
assert(v1[0] == 1);
assert(v1[1] == 2);
assert(v1[2] == 2);
assert(v1[3] == 8);
assert(v1[4] == 1);
assert(v1[5] == 2);
assert(v1 .length == 6);
v1 .insertAfter(v1[0 .. 4], 9);
assert(v1[0] == 1);
assert(v1[1] == 2);
assert(v1[2] == 2);
assert(v1[3] == 8);
assert(v1[4] == 9);
assert(v1[5] == 1);
assert(v1[6] == 2);
assert(v1 .length == 7);
Example
Array!int v1;
v1 .insertBefore(v1[], [2, 8]);
assert(v1[0] == 2);
assert(v1[1] == 8);
assert(v1 .length == 2);
v1 .insertBefore(v1[], [1, 2]);
assert(v1[0] == 1);
assert(v1[1] == 2);
assert(v1[2] == 2);
assert(v1[3] == 8);
assert(v1 .length == 4);
v1 .insertBefore(v1[0 .. 1], [1, 2]);
assert(v1[0] == 1);
assert(v1[1] == 2);
assert(v1[2] == 1);
assert(v1[3] == 2);
assert(v1[4] == 2);
assert(v1[5] == 8);
assert(v1 .length == 6);
v1 .insertBefore(v1[2 .. $], 9);
assert(v1[0] == 1);
assert(v1[1] == 2);
assert(v1[2] == 9);
assert(v1[3] == 1);
assert(v1[4] == 2);
assert(v1[5] == 2);
assert(v1[6] == 8);
assert(v1 .length == 7);