immutable class TUP{T1,T2,T3,T4} < $HASH, $STR


Ancestors
$STR $HASH $IS_EQ



Public


Readable Attributes
attr t1:T1;
attr t2:T2;
attr t3:T3;
attr t4:T4;

Writable Attributes
attr t1:T1;
attr t2:T2;
attr t3:T3;
attr t4:T4;

Features
create(at1:T1, at2:T2, at3:T3, at4:T4):SAME
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq2
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq3
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq4
elt_hash(e:$OB):INT .. Included as elt_hash2
elt_hash(e:$OB):INT .. Included as elt_hash3
elt_hash(e:$OB):INT .. Included as elt_hash4
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt2
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt3
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt4
elt_nil:ETP .. Included as elt_nil2
elt_nil:ETP .. Included as elt_nil3
elt_nil:ETP .. Included as elt_nil4
hash:INT
**** A simple hash value computed from the hash values of the components. For this to work, these must either be value types which define hash values or reference types.
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil2
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil3
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil4
is_eq(e:SAME):BOOL
**** True if the components of self and `e' are equal.
is_eq(arg: $OB): BOOL .. Included as is_eq
**** Overloaded version of the is_eq routine that works with an argument of any type. If the type of the 'arg' is not the same as they type of 'self' then return false. Otherwise, deletegate to the 'real' is_eq(SAME):BOOL routine
str: STR


Private

elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq
elt_hash(e:$OB):INT .. Included as elt_hash
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt
elt_nil:ETP .. Included as elt_nil
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil

The Sather Home Page