Package edu.rice.cs.plt.tuple

Classes for the type-parameterized representation of tuples.

See:
          Description

Interface Summary
OptionVisitor<T,Ret> A visitor for Options.
 

Class Summary
IdentityOctet<T1,T2,T3,T4,T5,T6,T7,T8> An octet that defines IdentityOctet.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentityPair<T1,T2> A pair that defines IdentityPair.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentityQuad<T1,T2,T3,T4> A quad that defines IdentityQuad.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentityQuint<T1,T2,T3,T4,T5> A quint that defines IdentityQuint.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentitySeptet<T1,T2,T3,T4,T5,T6,T7> A septet that defines IdentitySeptet.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentitySextet<T1,T2,T3,T4,T5,T6> A sextet that defines IdentitySextet.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentityTriple<T1,T2,T3> A triple that defines IdentityTriple.equals(java.lang.Object) and Tuple.hashCode() in terms of its elements' identity (==) instead of equality (@code equals})
IdentityWrapper<T> A wrapper that defines IdentityWrapper.equals(java.lang.Object) and Tuple.hashCode() in terms of its value's identity (==) instead of equality (@code equals})
Null<T> An empty tuple.
Octet<T1,T2,T3,T4,T5,T6,T7,T8> An arbitrary 8-tuple of objects; overrides Octet.toString(), Octet.equals(Object), and Tuple.hashCode().
Option<T> A wrapper for optional values.
Pair<T1,T2> An arbitrary pair of objects; overrides Pair.toString(), Pair.equals(Object), and Tuple.hashCode().
Quad<T1,T2,T3,T4> An arbitrary 4-tuple of objects; overrides Quad.toString(), Quad.equals(Object), and Tuple.hashCode().
Quint<T1,T2,T3,T4,T5> An arbitrary 5-tuple of objects; overrides Quint.toString(), Quint.equals(Object), and Tuple.hashCode().
Septet<T1,T2,T3,T4,T5,T6,T7> An arbitrary 7-tuple of objects; overrides Septet.toString(), Septet.equals(Object), and Tuple.hashCode().
Sextet<T1,T2,T3,T4,T5,T6> An arbitrary 6-tuple of objects; overrides Sextet.toString(), Sextet.equals(Object), and Tuple.hashCode().
Triple<T1,T2,T3> An arbitrary 3-tuple of objects; overrides Triple.toString(), Triple.equals(Object), and Tuple.hashCode().
Tuple Abstract parent of all tuple classes, providing lazy evaluation of the hash code.
TupleTest  
Wrapper<T> An arbitrary 1-tuple; overrides toString(), equals(Object), and Tuple.hashCode().
 

Exception Summary
OptionUnwrapException  
 

Package edu.rice.cs.plt.tuple Description

Classes for the type-parameterized representation of tuples. Since it's not possible to define a type-safe tuple of arbitrary size, a fixed set of practical tuples is implemented instead. Each shares the Tuple parent class, which provides facilities for optimized, lazy hash code calculation. Each n-tuple class provides the following:

Each n-tuple class also has an identity-based subclass (such as IdentityTriple that defines equals and hashCode in terms of their elements' identity (==) instead of equality (equals).

All tuples implement the Serializable interface. However, as wrappers for arbitrary objects, tuples will serialize without error only if the wrapped objects are serializable.