Index

Package: Alog.Controlled_Map (generic)

Description

generic
   type Key_Type (<>) is private;
   type Element_Type (<>) is limited private;
   type Element_Handle is access Element_Type;

   with function "<" (Left, Right : Key_Type) return Boolean is <>;

--  Controlled variant of a map. The memory of an element pointed to by a
--  previously inserted handle is freed upon calling Delete, Clear or during
--  finalization of the controlled map. Thus control over objects inserted into
--  this map resides with the controlled map.
package Alog.Controlled_Map is
Controlled variant of a map. The memory of an element pointed to by a previously inserted handle is freed upon calling Delete, Clear or during finalization of the controlled map. Thus control over objects inserted into this map resides with the controlled map.

Classes

Map

type Map is new Ada.Finalization.Limited_Controlled with private;

Ancestors:

Limited_Controlled

Primitive operations:

Finalize (overriding Finalize)

References:

alog-controlled_map.ads:42:9 (declaration)
alog-controlled_map.adb:35:40 (reference)
alog-controlled_map.adb:55:19 (reference)
alog-controlled_map.adb:66:26 (reference)
alog-controlled_map.adb:79:19 (reference)
alog-controlled_map.adb:89:43 (reference)
alog-controlled_map.adb:97:26 (reference)
alog-controlled_map.adb:108:35 (reference)
alog-controlled_map.adb:116:19 (reference)
alog-controlled_map.adb:134:33 (reference)
alog-controlled_map.ads:46:26 (reference)
alog-controlled_map.ads:52:19 (reference)
alog-controlled_map.ads:58:26 (reference)
alog-controlled_map.ads:64:19 (reference)
alog-controlled_map.ads:69:35 (reference)
alog-controlled_map.ads:72:40 (reference)
alog-controlled_map.ads:75:33 (reference)
alog-controlled_map.ads:79:19 (reference)
alog-controlled_map.ads:87:43 (reference)
alog-controlled_map.ads:98:9 (full declaration)
alog-logger.ads:175:27 (reference)
alog-logger.ads:178:27 (reference)
alog-protected_containers.ads:145:47 (reference)
A controlled map container.

Subprograms & Entries

Insert

procedure Insert     
(Container: in out Map;
Key: Key_Type;
New_Item: Element_Handle);

References:

alog-controlled_map.ads:45:14 (declaration)
alog-controlled_map.adb:96:14 (body)
alog-controlled_map.adb:104:8 (label)
alog-logger.adb:64:25 (reference)
alog-logger.adb:84:25 (reference)
alog-protected_containers.adb:158:15 (reference)

Calls:

Insert defined at a-ciorma.ads:98:14
Insert a new element handle with 'Key' into the controlled map.

Element

function Element     
(Container: Map;
Key: Key_Type)
return Element_Handle;

References:

alog-controlled_map.ads:51:13 (declaration)
alog-controlled_map.adb:78:13 (body)
alog-controlled_map.adb:85:8 (label)
alog-logger.adb:272:30 (reference)
alog-logger.adb:294:30 (reference)
alog-protected_containers.adb:143:31 (reference)

Calls:

Element defined at a-ciorma.ads:145:13
Return a handle to an element identified by 'Key'.

Delete

procedure Delete     
(Container: in out Map;
Key: Key_Type);

References:

alog-controlled_map.ads:57:14 (declaration)
alog-controlled_map.adb:65:14 (body)
alog-controlled_map.adb:74:8 (label)
alog-logger.adb:141:25 (reference)
alog-logger.adb:157:25 (reference)
alog-protected_containers.adb:130:15 (reference)

Calls:

Alog.Controlled_Map.Free defined at alog-controlled_map.adb:28:14
Delete defined at a-ciorma.ads:115:14
Element defined at a-ciorma.ads:145:13
Delete the element with key 'Key' from the map. Memory of the element is freed.

Contains

function Contains     
(Container: Map;
Key: Key_Type)
return Boolean;

References:

alog-controlled_map.ads:63:13 (declaration)
alog-controlled_map.adb:54:13 (body)
alog-controlled_map.adb:61:8 (label)
alog-logger.adb:35:32 (reference)
alog-logger.adb:58:28 (reference)
alog-logger.adb:78:28 (reference)
alog-logger.adb:122:28 (reference)
alog-logger.adb:136:32 (reference)
alog-logger.adb:152:32 (reference)
alog-logger.adb:266:32 (reference)
alog-logger.adb:288:32 (reference)
alog-protected_containers.adb:123:22 (reference)

Calls:

Contains defined at a-ciorma.ads:151:13
Returns True if an element with key 'Key' is in the map.

Is_Empty

function Is_Empty 
(Container: Map)
return Boolean;

References:

alog-controlled_map.ads:69:13 (declaration)
alog-controlled_map.adb:108:13 (body)
alog-controlled_map.adb:111:8 (label)
alog-protected_containers.adb:166:22 (reference)

Calls:

Is_Empty defined at a-ciorma.ads:65:13
Returns True if the map is empty.

Clear

procedure Clear 
(Container: in out Map);

References:

alog-controlled_map.ads:72:14 (declaration)
alog-controlled_map.adb:35:14 (body)
alog-controlled_map.adb:50:8 (label)
alog-controlled_map.adb:91:17 (reference)
alog-logger.adb:111:20 (reference)
alog-logger.adb:114:20 (reference)
alog-protected_containers.adb:113:15 (reference)

Calls:

Alog.Controlled_Map.Clear.Do_Free defined at alog-controlled_map.adb:37:17
Clear defined at a-ciorma.ads:67:14
Iterate defined at a-ciorma.ads:167:14
Remove all elements in the map. Memory of the elements is freed.

Length

function Length 
(Container: Map)
return Natural;

References:

alog-controlled_map.ads:75:13 (declaration)
alog-controlled_map.adb:134:13 (body)
alog-controlled_map.adb:137:8 (label)
alog-logger.adb:164:41 (reference)
alog-logger.adb:253:41 (reference)

Calls:

Length defined at a-ciorma.ads:63:13
Return the current element count.

Iterate

procedure Iterate     
(Container: Map;
Process: not null access procedure (Handle : Element_Handle)
);

References:

alog-controlled_map.ads:78:14 (declaration)
alog-controlled_map.adb:115:14 (body)
alog-controlled_map.adb:130:8 (label)
alog-logger.adb:110:20 (reference)
alog-logger.adb:113:20 (reference)
alog-logger.adb:191:25 (reference)
alog-logger.adb:202:25 (reference)

Calls:

Alog.Controlled_Map.Iterate.Call_Process defined at alog-controlled_map.adb:119:17
Iterate defined at a-ciorma.ads:167:14
Iterate over all elements in the map and call the 'Process' procedure for each handle.