compareTo method

  1. @override
int compareTo(
  1. Uuid 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(Uuid other) {
  // We just compare the underlying bytes without a care about the specifics
  final valueIterator = bytes.buffer.asUint32List().iterator;
  final otherValueIterator = other.bytes.buffer.asUint32List().iterator;
  while (valueIterator.moveNext() && otherValueIterator.moveNext()) {
    final diff = valueIterator.current - otherValueIterator.current;
    if (diff != 0) {
      return diff;
    }
  }
  return 0;
}