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
(c) Copyright, Real-Time Innovations, 2025. All rights reserved. No duplications, whole or partial, manual or electronic, may be made without express written permission. Any such copies, or revisions thereof, must display this notice unaltered. This code contains trade secrets of Real-Time Innovations, Inc.

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.