Function maybeSortBy

Maybe sorts a range using maybeSort by a publicly visible member variable or property of ElemntType!Range

auto ref auto maybeSortBy(string member, alias less, Range) (
  auto ref Range range
);

Since

0.0.1

Example

import bolts.range: isSortedRange;

struct A { // unsortable
    int i;
}

struct B { // sortable
    int i;
    bool opCmp(B a) const {
        return i < a.i;
    }
}

struct C {
    B b;
    A a;
}

static assert(!isSortedRange!([C()].maybeSortBy!"a"));
static assert( isSortedRange!([C()].maybeSortBy!"b"));
static assert( isSortedRange!([C()].maybeSortBy!("a", "a.i < b.i")));