Forwards to insertBack
Forwards to removeBack
Inserts every element of stuff not rejected by another index into the back of the index.
Inserts value into the back of the sequence, if no other index rejects value
Inserts every element of stuff not rejected by another index into the front of the index.
Inserts value into the front of the sequence, if no other index rejects value
Fetch a range that spans all the elements in the container.
Moves moveme.back to the position after tohere.back and dec both ranges. Probably not safe to use either range afterwards, but who knows. Preconditions: moveme and tohere are both ranges of the same container Postconditions: moveme.back is decremented Complexity: O(1)
Moves moveme.front to the position before tohere.front and inc both ranges. Probably not safe to use either range afterwards, but who knows. Preconditions: moveme and tohere are both ranges of the same container. Postconditions: moveme.front is incremented Complexity: O(1)
Removes the values of r from the container.
Preconditions: r came from this index
Complexity: O(n r * d(n)),
O(n r) for this index
Removes the value at the back of the index from the container.
Precondition: !empty
Complexity: O(d(n));
O(1) for this index
Removes the value at the front of the index from the container. Precondition: !empty Complexity: O(d(n)); O(1) for this index
Replaces r.front with value
Complexity: O(1)
Complexity: O(r(n))
Property returning true if and only if the container has no elements.
Complexity: O(1)
Complexity: O(r(n));
O(1) for this index
Returns the number of elements in the container.
Sequenced index implementation
Requirements: the following symbols must be defined in the scope in which this index is mixed in:
ThisNode, Value, __InsertAllBut!N, __InsertAll, __Replace, __RemoveAllBut!N, node_count