Vector.append

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

Return index of first inserted element.

  1. size_t append(R range)
    struct Vector
    scope
    size_t
    append
    (
    R
    )
    ()
    if (
    is(ElementEncodingType!R : ElementType)
    )
  2. size_t append(Vec vec)
  3. size_t append(Val val, size_t count)

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]);
}

Meta