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) [annotate] [blame] [check-ins using]
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) [annotate] [blame] [check-ins using]
︙ | |||
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; |