Index

Package: DDS.Limited_Holders_Generic

Description

generic

   type Element_Type is limited private;
   type Element_Type_Access is access Element_Type;

   with procedure Initialize (item : in out Element_Type) is <>;
   with procedure Copy (target : in out Element_Type; source : in Element_Type) is <>;
   with procedure Finalize (item : in out Element_Type) is <>;

package DDS.Limited_Holders_Generic is

Classes

Holder

type Holder is tagged private;

Ancestors:

Controlled

Primitive operations:

Adjust
Finalize
Initialize

Types

Element_Type

type Element_Type is limited private;

Element_Type_Access

type Element_Type_Access is access Element_Type;

Subprograms & Entries

Initialize

with procedure Initialize 
(item: in out Element_Type) is <>;

Copy

with procedure Copy 
(target: in out Element_Type;
source: in Element_Type) is <>;

Finalize

with procedure Finalize 
(item: in out Element_Type) is <>;

To_Holder

function To_Holder 
(New_Item: Element_Type) return Holder;

+

function "+" 
(New_Item: Element_Type) return Holder renames To_Holder;
Create a new holder the contains a copy of the object.

Get

function Get 
(Container: Holder) return Element_Type_Access;
Returns a reference to the stored object.

Set

procedure Set 
(Container: in out Holder;
New_Item: Element_Type);
Makes a new copy of the object and stores it in the Holder.

References

procedure References 
(Container: in out Holder;
New_Item: Element_Type_Access);
Sets the holder to reference the object without copy.