import Gilda.Container
The Gilda.Container class declares generic container classes. Containers with the following types are built into the Basis library. The generic templates can also be imported with other types.
Heap(string) Stack(string) Hash(string) Map(string) Heap(word) Stack(word) Hash(word) Map(word) Heap(cell) Stack(cell) Hash(cell) Heap(byte) Stack(byte) Heap(key(word)) Queue(string) Vector(string)
Heap( Heap__type, Start = 0 word ) >>> *Element _type Index( ~Heap..Heap__type ) ==> exit Count word Is.Last( ~Heap..Heap__type ) ==> exit Last Bit PRIOR change ~Heap..Heap__type, exit *Prior _type SUSPEND change ~Heap..Heap__type, exit Count word MOVE change ~Heap..Heap__type, entry Next word Deplete( change Heap__type ) >>> exit *Element _type PILE change Heap__type, exit Value _type PILE.AT change Heap__type, exit *Element _type Head( Heap__type ) ==> Value _type Head.At( Heap__type ) ==> *Element _type Tail( Heap__type ) ==> Value _type Tail.At( Heap__type ) ==> *Element _type Peek( Heap__type, Index = 0 word ) ==> Value _type Peek.At( Heap__type, Index = 0 word ) ==> *Element _type Find( Heap__type, Value _type ) ==> Index word Find.At( Heap__type, Value _type ) ==> *Element _type STORE change Heap__type, entry Index = 0 word, Value string REMOVE change Heap__type, entry Count = 1 word EMPTY change Heap__type pure DRAIN change Heap__type pure
Stack( Stack__type, Index = 0 word ) >>> *Item cell pure SUSPEND change ~Stack..Stack__type, exit Index word Deplete( change Stack__type ) >>> exit *Element _type PUSH change Stack__type, entry Value _type pure PUSH.AT change Stack__type, exit *Element _type pure POP change Stack__type, exit Value _type pure POP.AT change Stack__type, exit *Element _type pure Head( Stack__type ) ==> Value _type Head.At( Stack__type ) ==> *Element _type Peek( Stack__type, Index = 0 word ) ==> Value _type Peek.At( Stack__type, Index = 0 word ) ==> *Element _type Find( Stack__type, Value _type ) ==> Index word STORE change Stack__type, entry Index = 0 word, Value string pure REMOVE change Stack__type, entry Count = 1 word pure DRAIN change Stack__type pure EMPTY change Stack__type pure
Queue( Queue__type, Index = 0 word ) >>> *Element _type pure SUSPEND change ~Queue, exit Count word pure Deplete( Queue__type ) >>> *Element _type ENQUEUE change Queue__type, entry Value _type pure ENQUEUE.AT change Queue__type, exit *Element _type pure DEQUEUE change Queue__type, exit Value _type pure DEQUEUE.AT change Queue__type, exit *Element _type pure PUSH change Queue__type, entry Value _type pure PUSH.AT change Queue__type, exit *Element _type pure Head( Queue__type ) ==> Value _type Head.At( Queue__type ) ==> *Element _type Tail( Queue__type ) ==> Value _type Tail.At( Queue__type ) ==> *Element _type Peek( Queue__type, Index = 0 word ) ==> Value _type Peek.At( Queue__type, Index = 0 word ) ==> *Element _type Size( Queue__type ) ==> Size word Count( Queue__type, Value _type) ==> Count word pure Find( Queue__type, Value _type) ==> Find Bit STORE change Queue__type, entry Index = 0 word, Value _type pure REMOVE change Queue__type, entry Count = 1 word pure DRAIN change Queue__type pure EMPTY change Queue__type pure
STORE change Vector__type, entry Index = 0 word, Value _type pure STORE.AT change Vector__type, entry Index = 0 word, *Element _type pure LOAD change Vector__type, entry Index = 0 word, Value _type pure LOAD.AT change Vector__type, entry Index = 0 word, *Element _type pure Size( Vector__type ) ==> cell EMPTY change Vector__type pure DRAIN change Vector__type pure
Hash( Hash__type, First = "" string ) >>> *Element Key__type pure PUT change Hash__type, entry Key string, entry Tag _type pure PUT.AT change Hash__type, entry Key string, exit *Element Key__type, New Bit pure Get( Hash__type, Key = "" string ) ==> Tag string Get.At( Hash__type, Key = "" string ) ==> *Element Key__type Id( Hash__type, Key = "" string ) ==> Label string DELETE change Hash__type, entry Key string pure EMPTY change Hash__type pure DRAIN change Hash__type pure
Map( Map__type, Start = "" string ) >>> *Element Key__type pure ADD change Map__type, entry Key string, entry Value _type pure PUT change Map__type, entry Key string, entry Value _type pure PUT.AT change Map__type, entry Key string, exit *Element Key__type, exit New Bit pure Get( Map__type, Key = "" string ) ==> Value _type Get.At( Map__type, Key = "" string ) ==> *Element Key__type Item.At( Map__type ) ==> *Element Key__type HEAD change Map__type, exit Key string, Exit Tag _type pure HEAD.AT change Map__type, exit *Element Key__type pure NEXT change Map__type, exit Key string, Exit Tag _type pure NEXT.AT change Map__type, exit *Element Key__type pure FIND change Map__type, entry Key = "" string, exit Tag _type pure FIND.AT change Map__type, entry Key = "" string, exit *Element Key__type, exit Exact Bit pure SCAN change Map__type, entry Key = "" string, exit @Element Key__type, exit Exact Bit pure DELETE change Map__type, entry Key string pure EMPTY change Map__type pure DRAIN change Map__type pure