The only requirement we place upon storage managers is that they provide the same well-defined protocol. This is defined by the standard package Ada. Exception behaviour of the BCs is standard and portable, unlike other languages. Iteration Separate types act as agents responsible for iterating across a structure. By providing separate iterator types, we make it possible to have several iterator objects working upon the same object.
Active iteration requires the client explicitly advance the iterator.
For passive, the client supplies a single procedure Apply to work across the structure. There are many different approaches to iteration in Ada 95. The current mechanism was selected for its direct simplicity and efficiency. Concurrent access by multiple tasks requires the user to provide her own access control. Guarded forms are created by instantiating the package BC.Containers.