MoveableSortedRange.trisect

Returns a tuple r such that r[0] is the same as the result of lowerBound(value), r[1] is the same as the result of equalRange(value), and r[2] is the same as the result of upperBound(value). The call is faster than computing all three separately. Uses a search schedule similar to equalRange. Completes the entire search in O(log(n)) time.

struct MoveableSortedRange(Range, alias pred = "a < b")
trisect
(
V
)
()
if (
isTwoWayCompatible!(predFun, ElementType!Range, V) &&
isRandomAccessRange!Range
&&
hasLength!Range
)
if (
isInputRange!Range
)

Meta