--- ai12s/ai12-0254-1.txt 2018/02/01 07:01:15 1.2 +++ ai12s/ai12-0254-1.txt 2018/03/02 06:46:46 1.3 @@ -1209,3 +1209,34 @@ **************************************************************** +From: Randy Brukardt +Sent: Thursday, February 1, 2018 12:21 AM + +During the discussion of AI12-0254-1, Jean-Pierre complained that "Bounded" +has a different meaning for a Bounded_Indefinite_Container. The minutes say: + +Jean-Pierre notes that "Bounded" is somewhat a misnomer. For most Bounded +containers the bound is on the number of elements; for the +Bounded_Indefinite_Container, the bound is on the size of an individual +element. + +However, the introduction of the Bounded_Vector container says: + +The language-defined generic package Containers.Bounded_Vectors provides a +private type Vector and a set of operations. It provides the same operations +as the package Containers.Vectors (see A.18.2), with the difference that the +maximum storage is bounded. + +Ergo, "bounded" in the Standard sense means that the storage is bounded, and +clearly it means the same thing for the Bounded_Indefinite_Container. The +mechanism to accomplish that bounding is different, but the goal is the same. +(And if there was a Bounded_Indefinite_Vector, it would use both techniques +for bounding. Aside: A Bounded_Indefinite_Vector probably would be the fastest +implementation of a vector for Janus/Ada's code shared generics, presuming +"canonical" implementations of all of the containers -- it would slightly beat +Indefinite_Vector by having faster allocations than the regular heap -- and it +would clobber the other implementations, which have to use implicit heap +allocation for each component. End aside.) + +**************************************************************** +

Questions? Ask the ACAA Technical Agent