Differences From Artifact [f00e24d0ba]:
- File
src/natools-static_hash_maps.ads
— part of check-in
[582f564b61]
at
2014-05-18 20:20:13
on branch trunk
— static_hash_maps: new code generation package to build static hash maps
A static hash map means here a hash maps completely known before compile time. It uses GNAT.Perfect_Hash_Generator to turn string keys into indexes for an array of elements. (user: nat size: 5383)
To Artifact [6dcc3fadc7]:
- File src/natools-static_hash_maps.ads — part of check-in [0ab4a630bf] at 2014-05-25 08:51:40 on branch trunk — static_hash_maps: add support for custom declarations at the beginning of the generated spec file (user: nat size: 5528)
| ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | + + + + |
Private_Child : in Boolean := False);
-- Reset Self and initialize it with the givan package Name
procedure Set_Description
(Self : in out Map_Package;
Description : in String);
procedure Set_Extra_Declarations
(Self : in out Map_Package;
Declarations : in String);
procedure Set_Private_Child
(Self : in out Map_Package;
Private_Child : in Boolean := True);
procedure Add_Map (Self : in out Map_Package; Map : in Map_Description);
-- Append a new Map to Self
|
| ︙ | |||
144 145 146 147 148 149 150 151 152 153 154 155 | 148 149 150 151 152 153 154 155 156 157 158 159 160 | + |
package Map_Lists is new Ada.Containers.Doubly_Linked_Lists
(Map_Description);
type Map_Package is record
Name : String_Holder;
Description : String_Holder;
Extra_Declarations : String_Holder;
Priv : Boolean;
Maps : Map_Lists.List;
end record;
end Natools.Static_Hash_Maps;
|