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


Flattened version is here

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 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 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.
ifc: IFC
is_abstract:BOOL
**** Returns false.
is_bound:BOOL
**** Returns true.
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".