SortedRange.trisect
auto trisect(V)(V value) if (isTwoWayCompatible!(predFun, ElementType!Range, V)
&& isRandomAccessRange!Range && hasLength!Range)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 log(n) time.