Returns the last element and removes it from the range.
Returns the first element and advances the range.
Moves the element at the position n out of the range.
Moves the back element of a bidirectional range.
Moves the front element of an input range.
Removes exactly count last elements from the bidirectional range range.
Removes maximum count last elements from the bidirectional range range.
Removes exactly count first elements from the input range range.
Removes maximum count first elements from the input range range.
Puts e into the range.
Determines whether r1.front and r2.front point to the same element.
Returns the element type of the range R.
Determines whether the elements of R are assignable.
Determines whether R provides access to its elements by reference.
Determines whether $(D_PSYMBOL R) is a range containing mobile elements, i.e. elements that can be moved out of the range.
Determines whether R is a forward range with slicing support (R[i .. j]).
Determines whether the elements of $(D_PSYMBOL R) can be swapped with $(D_PSYMBOL swap).
Determines whether R is a bidirectional range.
Determines whether R is a forward range.
Determines whether R is an infinite range.
Determines whether R is an input range.
Determines whether R is an output range for the elemens of type E.
Determines whether R is a random-access range.
Detects whether R has a length property.
Eugene Wissner 2017-2020.
This module defines primitives for working with ranges.