Vector

An array that uses a custom allocator.

struct Vector (
T
ALLOC = ThreadMem
) {}

Constructors

this
this(size_t elms)
Undocumented in source.
this
this(U[] values)

Constructor taking a number of items

this
this(Stuff stuff)

Constructor taking an input range

this
this(typeof(this) other)

* Move Constructor

Postblit

this(this)
this(this)
Undocumented in source.

Members

Functions

clear
void clear()

Removes all contents from the container. The container decides how capacity is affected.

insert
size_t insert(Stuff stuff)
Undocumented in source. Be warned that the author may not have intended to support it.
insertAfter
size_t insertAfter(size_t i, Stuff stuff)

Inserts stuff before position i.

insertBack
size_t insertBack(Stuff stuff)

Inserts value to the front or back of the container. stuff can be a value convertible to T or a range of objects convertible to T. The stable version behaves the same, but guarantees that ranges iterating over the container are never invalidated.

insertBefore
void insertBefore(size_t i, Stuff stuff)
size_t insertBefore(size_t i, Stuff stuff)

Inserts stuff before position i.

opAssign
void opAssign(Vector!(T, ALLOC) other)
Undocumented in source. Be warned that the author may not have intended to support it.
opAssign
void opAssign(T[] other)
Undocumented in source. Be warned that the author may not have intended to support it.
opBinary
auto opBinary(Stuff stuff)

Returns a new container that's the concatenation of this and its argument. opBinaryRight is only defined if Stuff does not define opBinary.

opCmp
int opCmp(Vector!(T, Alloc) other)
Undocumented in source. Be warned that the author may not have intended to support it.
opDollar
size_t opDollar()

Returns the number of elements in the container.

opEquals
bool opEquals(RefCounted!(Vector!(T, ALLOC), ALLOC) other_)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(Vector!(T, ALLOC) other_)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(T[] other)
Undocumented in source. Be warned that the author may not have intended to support it.
opIndex
T opIndex(size_t i)

Indexing operators yield or modify the value at a specified index.

opIndexAssign
void opIndexAssign(U val, size_t i)
Undocumented in source. Be warned that the author may not have intended to support it.
opOpAssign
void opOpAssign(U input)
Undocumented in source. Be warned that the author may not have intended to support it.
opOpAssign
void opOpAssign(Stuff stuff)

Forwards to pushBack(stuff).

opSlice
auto opSlice()

Returns an array that can be translated to a range using ($D refRange).

opSlice
T[] opSlice(size_t i, size_t j)

Returns an array of the container from index a up to (excluding) index b.

opSliceAssign
void opSliceAssign(Stuff value)
void opSliceAssign(Stuff value, size_t i, size_t j)
opSliceOpAssign
void opSliceOpAssign(T value)
void opSliceOpAssign(T value, size_t i, size_t j)
opSliceUnary
void opSliceUnary()
void opSliceUnary(size_t i, size_t j)

Slicing operations execute an operation on an entire slice.

pushBack
size_t pushBack(Stuff stuff)
Undocumented in source. Be warned that the author may not have intended to support it.
pushBack
size_t pushBack(Stuff stuff)
Undocumented in source. Be warned that the author may not have intended to support it.
removeBack
void removeBack()

Removes the value at the back of the container. The stable version behaves the same, but guarantees that ranges iterating over the container are never invalidated.

removeBack
size_t removeBack(size_t howMany)

Removes howMany values at the front or back of the container. Unlike the unparameterized versions above, these functions do not throw if they could not remove howMany elements. Instead, if howMany > n, all elements are removed. The returned value is the effective number of elements removed. The stable version behaves the same, but guarantees that ranges iterating over the container are never invalidated.

removeFront
void removeFront()
Undocumented in source. Be warned that the author may not have intended to support it.
reserve
void reserve(size_t elements)

Ensures sufficient capacity to accommodate e elements.

resize
void resize(size_t newLength)
Undocumented in source. Be warned that the author may not have intended to support it.
swap
void swap(Vector!(T, ALLOC) other)
Undocumented in source. Be warned that the author may not have intended to support it.
swap
void swap(T[] other)
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

NOGC
enum NOGC;
Undocumented in source.

Properties

back
T back [@property getter]

Forward to opSlice().front and opSlice().back, respectively.

capacity
size_t capacity [@property getter]

Returns the maximum number of elements the container can store without (a) allocating memory, (b) invalidating iterators upon insertion.

dup
Vector!(T, ALLOC) dup [@property getter]
dupr
RefCounted!(Vector!(T, ALLOC), ALLOC) dupr [@property getter]

Duplicates the container. The elements themselves are not transitively duplicated.

empty
bool empty [@property getter]

Property returning true if and only if the container has no elements.

end
T* end [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
front
T front [@property getter]

Forward to opSlice().front and opSlice().back, respectively.

length
size_t length [@property getter]

Returns the number of elements in the container.

length
size_t length [@property setter]

Sets the number of elements in the container to newSize. If newSize is greater than length, the added elements are added to unspecified positions in the container and initialized with T.init.

move
Vector!(T, ALLOC) move [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
ptr
T* ptr [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.

Meta