I've just uploaded this release to
Added the ability to delete the item an Iterator is currently
indicating (Delete_Item_At (It : Iterator)). Note, this feature
doesn't yet work for Bags, Maps, Rings or Sets.
The C++ code offers two variants of accessors such as Queues.Front,
one of which returns a value while the other returns a
reference. The second case is now supported by generics such as eg
The Copy operation of Collections, Queues, Rings and Stacks checks
for self-assignment before proceeding.
Synchronized Unbounded Rings now support blocking (balking); eg, an
attempt to Pop will block until the Ring has something in it to
pop. For related reasons, the Pop_Value operation is provided.
AVL Trees had an error (inherited from the C++) which would
sometimes corrupt the Tree on deletion.
Containers have new versions of the Visit and Modify generics that
include a parameter as an argument to Visit and Modify that is
passed to the Apply routine. Thanks to Steve Doiel.
Added pragma Elaborate_Body throughout.
Continued the renaming of Container parameters from Obj to something
slightly more mnemonic.
Best wishes for 2000!