explicitComparator<T> function

Comparator<T> explicitComparator<T>(
  1. Iterable<T> iterable
)

Returns an explicit Comparator based on an iterable of elements.

Implementation

Comparator<T> explicitComparator<T>(Iterable<T> iterable) {
  final ranks = <T, int>{};
  for (final element in iterable.indexed()) {
    ranks[element.value] = element.index;
  }
  return (a, b) => _rank(ranks, a) - _rank(ranks, b);
}