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
Constructors
new Pair() #
Constructs a new pair.
Pair() : proxyA = null, proxyB = null { }
Properties
DynamicTreeNode proxyA #
DynamicTreeNode proxyA;
DynamicTreeNode proxyB #
DynamicTreeNode proxyB;
final Type runtimeType #
A representation of the runtime type of the object.
external Type get runtimeType;
Operators
bool operator ==(other) #
The equality operator.
The default behavior for all Object
s 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() #
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) #
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() #
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() #
Returns a string representation of this object.
external String toString();