18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  | 
-- Natools.S_Expressions.Atom_Buffers implements an unbounded Atom designed --
-- to be used as an input buffer, accumulating data and extracting it as a  --
-- single Atom object.                                                      --
-- It also provides an individual Octet accessor, used in parser internal   --
-- recursive buffer.                                                        --
------------------------------------------------------------------------------
with Natools.References;
with Natools.Storage_Pools;
package Natools.S_Expressions.Atom_Buffers is
   pragma Preelaborate (Atom_Buffers);
   package Atom_Refs is new Natools.References
     (Atom,
      Storage_Pools.Access_In_Default_Pool'Storage_Pool,
      Storage_Pools.Access_In_Default_Pool'Storage_Pool);
   type Atom_Buffer is tagged private;
   procedure Preallocate (Buffer : in out Atom_Buffer; Length : in Count);
      --  Preallocate enough memory to append Length octets without
      --  any further allocation.
   procedure Append (Buffer : in out Atom_Buffer; Data : in Atom);
  | 
<
|
<
<
<
<
<
  | 
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  | 
-- Natools.S_Expressions.Atom_Buffers implements an unbounded Atom designed --
-- to be used as an input buffer, accumulating data and extracting it as a  --
-- single Atom object.                                                      --
-- It also provides an individual Octet accessor, used in parser internal   --
-- recursive buffer.                                                        --
------------------------------------------------------------------------------
with Natools.S_Expressions.Atom_Refs;
package Natools.S_Expressions.Atom_Buffers is
   pragma Preelaborate (Atom_Buffers);
   type Atom_Buffer is tagged private;
   procedure Preallocate (Buffer : in out Atom_Buffer; Length : in Count);
      --  Preallocate enough memory to append Length octets without
      --  any further allocation.
   procedure Append (Buffer : in out Atom_Buffer; Data : in Atom);
 |