Next: Attribute Range_Length, Previous: Attribute Passed_By_Reference, Up: Implementation Defined Attributes
X'Pool_Address
for any object X returns the address
of X within its storage pool. This is the same as
X'Address
, except that for an unconstrained array whose
bounds are allocated just before the first component,
X'Pool_Address
returns the address of those bounds,
whereas X'Address
returns the address of the first
component.
Here, we are interpreting 'storage pool' broadly to mean
wherever the object is allocated
, which could be a
user-defined storage pool,
the global heap, on the stack, or in a static memory area.
For an object created by new, Ptr.all'Pool_Address
is
what is passed to Allocate and returned from Deallocate.