Function Vector.append

Extends the Vector by appending additional elements at the end of vector.

size_t append(R) (
  R range
) scope
if (isBtlInputRange!R && is(ElementEncodingType!R : ElementType));

size_t append(Vec) (
  auto scope ref Vec vec
) scope
if (isVector!Vec && is(GetElementType!Vec : ElementType));

size_t append(Val) (
  auto ref Val val,
  const size_t count = 1
) scope
if (is(Val : ElementType));

Return index of first inserted element.

Parameters

val appended value.

vec appended vector.

range appended input renge.

count Number of times val is appended.

Examples

{
    auto vec = Vector!(int, 6).build(1, 2, 3);

    vec.append(42);
    assert(vec == [1, 2, 3, 42]);
}

{
    auto vec = Vector!(int, 6).build(1, 2, 3);

    vec.append(only(4, 5, 6));
    assert(vec == [1, 2, 3, 4, 5, 6]);
}

{
    auto a = Vector!(int, 6).build(1, 2, 3);
    auto b = Vector!(int, 6).build(4, 5, 6);

    a.append(b);
    assert(a == [1, 2, 3, 4, 5, 6]);
}

{
    Vector!(int, 3) vec = Vector!(int, 3).build(1, 2, 3);
    int[3] tmp = [4, 5, 6];
    vec.append(tmp[]);
    assert(vec == [1, 2, 3, 4, 5, 6]);
}

{
    struct Range{
        int i;

        bool empty()(){return i == 0;}
        int front()(){return i;}
        void popFront()(){i -= 1;}
        //size_t length(); //no length
    }

    Vector!(int, 3) vec = Vector!(int, 3).build(6, 5, 4);
    vec.append(Range(3));
    assert(vec == [6, 5, 4, 3, 2, 1]);
}