{
auto vec = Vector!(int, 6).build(1, 2, 3);
vec.emplace(1, 42);
assert(vec == [1, 42, 2, 3]);
vec.emplace(4, 314);
assert(vec == [1, 42, 2, 3, 314]);
vec.emplace(100, -1);
assert(vec == [1, 42, 2, 3, 314, -1]);
}
{
auto vec = Vector!(int, 6).build(1, 2, 3);
vec.emplace(vec.ptr + 1, 42);
assert(vec == [1, 42, 2, 3]);
vec.emplace(vec.ptr + 4, 314);
assert(vec == [1, 42, 2, 3, 314]);
vec.emplace(vec.ptr + 100, -1);
assert(vec == [1, 42, 2, 3, 314, -1]);
}
{
static struct Foo{
int i;
string str;
}
auto vec = Vector!(Foo, 6).build(Foo(1, "A"));
vec.emplace(1, 2, "B");
assert(vec == only(Foo(1, "A"), Foo(2, "B")));
vec.emplace(0, 42, "X");
assert(vec == only(Foo(42, "X"), Foo(1, "A"), Foo(2, "B")));
}
Inserts a new element into the container directly before pos or ptr.
Return index of first inserted element.