class TP_ITER < $TP
****
Representation of bound iter types.


Ancestors
$TP $HASH $IS_EQ $STR
$IS_LT{_} $CALL_TP TP



Public


Readable Attributes
attr args:ARRAY{ARG};
**** Specifiers for the argument types in order, void if none. with a "!". None are hot if this array is void.
attr hot:ARRAY{BOOL};
**** Treu for each arg which is marked with a "!". None are hot if this array is void.
attr prog:PROG;
**** This type's program object.
attr ret:$TP;
**** The return type, void if none.
attr sas_cache:STR;
**** Cache for string representation.

Writable Attributes
attr args:ARRAY{ARG};
**** Specifiers for the argument types in order, void if none. with a "!". None are hot if this array is void.
attr hot:ARRAY{BOOL};
**** Treu for each arg which is marked with a "!". None are hot if this array is void.
attr prog:PROG;
**** This type's program object.
attr ret:$TP;
**** The return type, void if none.
attr sas_cache:STR;
**** Cache for string representation.

Features
as:AS_TYPE_SPEC
create(args:ARRAY{ARG}, hot:ARRAY{BOOL}, ret:$TP, prog:PROG):SAME
**** A bound iter type object with the specified attributes.
has_ret:BOOL
**** True if self has a return value.
hash:INT
ifc: IFC
impl:IMPL
is_abstract:BOOL
**** Returns false.
is_atomic:BOOL
**** Conservative answer
is_bound:BOOL
**** Returns true.
is_builtin:BOOL
**** Conservative answer
is_eq(t:$OB):BOOL
**** Equality note: changed from $CALL_TP True if self equals `t'.
is_external:BOOL
**** True if one of external types
is_immutable:BOOL
**** True if an immutable type.
is_lt(t:$CALL_TP):BOOL
**** True if self is less than `t' in a canonical (arbitrary) ordering.
is_neq(t:$OB):BOOL
**** Equality note: changed from $CALL_TP True if self is not equal to `t'.
is_partial:BOOL
**** True if partial class
is_reference_free:BOOL
**** Conservative answer
is_subtype(t:$CALL_TP):BOOL
**** True if self is a subtype of `t'.
kind:INT
**** The kind of this type.
str:STR
**** The string version of the type represented by self. Uses no whitespace, eg: "ITER{A!,B{C},D}:E". If self is void, returns "void".


Private

attr my_ifc: IFC;
attr my_ifc: IFC;