Queue
package
struct Queue (
)
if (
!hasMember!(T, "__xdtor")
) {
}
A destructor is present on this object, but not explicitly documented in the source.
A postblit is present on this object, but not explicitly documented in the source.
- empty
bool empty()
- insert
void insert(T item, const size_t idx)
Insert a new item putting it to specified index in the linked list.
- length
size_t length()
- peek
inout(T) peek()
- pop
T pop()
- push
void push(T item)
Push a new item to the queue.
- range
auto range()
Returns a forward range iterating over this queue.
Simple queue implemented as a singly linked list with a tail pointer.
Needed in some D:YAML code that needs a queue-like structure without too much reallocation that goes with an array.
Allocations are non-GC and are damped by a free-list based on the nodes that are removed. Note that elements lifetime must be managed outside.