Dart Documentationbox2d_htmlPair

Pair class

A pair of dynamic tree nodes that is comparable.

class Pair implements Comparable {
  DynamicTreeNode proxyA;
  DynamicTreeNode proxyB;

  /**
   * Constructs a new pair.
   */
  Pair() : proxyA = null, proxyB = null { }

  /**
   * Compares this pair to the other pair. Returns a negative number if this
   * pair is less, 0 if the pairs are equal, and a positive number if this pair
   * is greater. Compared first on which proxyA is less and, in the case of a
   * tie, on which proxyB is less.
   */
  int compareTo(Pair pair2) {
    assert(proxyA != null && pair2.proxyA != null);
    if (this.proxyA.key < pair2.proxyA.key)
      return -1;

    if (this.proxyA.key == pair2.proxyA.key) {
      return (proxyB.key < pair2.proxyB.key) ? -1 :
          (proxyB.key == pair2.proxyB.key) ? 0 : 1;
    }

    return 1;
  }
}

Implements

Comparable

Constructors

new Pair() #

Constructs a new pair.

Pair() : proxyA = null, proxyB = null { }

Properties

DynamicTreeNode proxyA #

DynamicTreeNode proxyA;

DynamicTreeNode proxyB #

DynamicTreeNode proxyB;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

int compareTo(Pair pair2) #

Compares this pair to the other pair. Returns a negative number if this pair is less, 0 if the pairs are equal, and a positive number if this pair is greater. Compared first on which proxyA is less and, in the case of a tie, on which proxyB is less.

int compareTo(Pair pair2) {
  assert(proxyA != null && pair2.proxyA != null);
  if (this.proxyA.key < pair2.proxyA.key)
    return -1;

  if (this.proxyA.key == pair2.proxyA.key) {
    return (proxyB.key < pair2.proxyB.key) ? -1 :
        (proxyB.key == pair2.proxyB.key) ? 0 : 1;
  }

  return 1;
}

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

new Pair() #

Constructs a new pair.

Pair() : proxyA = null, proxyB = null { }

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();