one (open) question and one suggestion with the request for comments:
- the present implementation of STRING does not work on a copy of
the collection (ie no snapshot). In a multithreaded usage it could be
the case, that the collection changes while the string representation
Shall I change STRING to work on a snapshot (copy) of the collection?
- ad QUEUE and PUSH: I would suggest that both methods return a
Reasoning: in the case that item objects need to be removed/deleted to
make place for a new one, it may be very helpful for programmers to get
at the one that gets removed, e.g. to carry out special work on them
(cleanup, statistics, etc.). The suggested return values would be:
- .nil ... if the action did not remove/delete an existing item
object in the circular queue
- an item object ... the item object which needs to be
removed/deleted in order for the new item object to be placeable.