Function Vector.erase
Removes specified element from the vector.
size_t erase
(
const size_t pos
) nothrow scope;
size_t erase
(
const size_t pos,
const size_t n
) scope;
size_t erase
(
scope const Vector . ElementType* ptr
) nothrow scope;
size_t erase
(
scope const Vector . ElementType[] slice
) nothrow scope @safe;
Return index of first removed element.
Parameters
pos
position of first element to be removed.
n
number of elements to be removed.
ptr
pointer to elements to be removed.
Examples
//pos:
{
auto vec = Vector!(int, 3) .build(1, 2, 3, 4, 5, 6);
size_t pos = vec .erase(3);
assert(pos == 3);
assert(vec == [1, 2, 3]);
pos = vec .erase(100);
assert(pos == 3);
assert(vec == [1, 2, 3]);
}
{
auto vec = Vector!(int, 3) .build(1, 2, 3, 4, 5, 6);
size_t pos = vec .erase(1, 4);
assert(pos == 1);
assert(vec == [1, 6]);
pos = vec .erase(100, 4);
assert(pos == 2);
assert(vec == [1, 6]);
pos = vec .erase(0, 100);
assert(pos == 0);
assert(vec .empty);
}
//ptr:
{
auto vec = Vector!(int, 3) .build(1, 2, 3, 4, 5, 6);
size_t pos = vec .erase(vec .ptr + 3);
assert(pos == 3);
assert(vec == [1, 2, 3]);
pos = vec .erase(vec .ptr + 100);
assert(pos == 3);
assert(vec == [1, 2, 3]);
}
{
auto vec = Vector!(int, 3) .build(1, 2, 3, 4, 5, 6);
size_t pos = vec .erase(vec[1 .. 5]);
assert(pos == 1);
assert(vec == [1, 6]);
}