compareTo method

  1. @override
int compareTo(
  1. CompositeIndexKey other
)
override

Compares this object to another object.

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Implementation

@override
int compareTo(CompositeIndexKey other) {
  final n =
      parts.length < other.parts.length ? parts.length : other.parts.length;
  for (var i = 0; i < n; i++) {
    final c = compareValues(parts[i], other.parts[i]);
    if (c != 0) return c;
  }
  return parts.length.compareTo(other.parts.length);
}