Example 5.164. CircularQueue class - examples
-- create a circular buffer with five items u=.circularQueue~of("a", "b", "c", "d", "e") say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say u~resize(4, "FIFO") -- resize fifo-style (keep newest) say "after resizing to 4 items in FIFO style (keeping the newest):" say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say u~resize(2, "LIFO") -- resize lifo-style (keep oldest) say "after resizing to 2 items in LIFO style (keeping the oldest):" say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say u~resize(0) -- resize lifo-style (keep oldest) say "after resizing to 0 items, thereby deleting all items:" say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say u~resize(2) -- resize lifo-style (keep oldest) say "after resizing to 2, size="u~size "and items="u~items u~~queue('x')~~queue('y')~~queue('z') say "after queuing the three items 'x', 'y', 'z':" say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say u~~push('1')~~push('2')~~push('3') say "after pushing the three items '1', '2', '3':" say "content: ["u"]," "content (LIFO): ["u~string("->","L")"]" say
content: [a,b,c,d,e], content (LIFO): [e->d->c->b->a] after resizing to 4 items in FIFO style (keeping the newest): content: [b,c,d,e], content (LIFO): [e->d->c->b] after resizing to 2 items in LIFO style (keeping the oldest): content: [b,c], content (LIFO): [c->b] after resizing to 0 items, thereby deleting all items: content: [], content (LIFO): [] after resizing to 2, size=2 and items=0 after queuing the three items 'x', 'y', 'z': content: [y,z], content (LIFO): [z->y] after pushing the three items '1', '2', '3': content: [3,2], content (LIFO): [2->3]