immutable class TUP{T1,T2} < $HASH, $STR |
---|
$STR | $HASH | $IS_EQ |
attr t1:T1; |
---|
attr t2:T2; |
---|
attr t1:T1; |
---|
attr t2:T2; |
---|
create(at1:T1, at2:T2):SAME |
---|
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq |
---|
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq2 |
---|
elt_hash(e:$OB):INT .. Included as elt_hash |
---|
elt_hash(e:$OB):INT .. Included as elt_hash2 |
---|
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt |
---|
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt2 |
---|
elt_nil:ETP .. Included as elt_nil2 |
---|
elt_nil:ETP .. Included as elt_nil |
---|
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_nil |
---|
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil2 |
---|
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 |
---|