Natools

Check-in [43ab20ac63]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:s_expressions-atom_buffers: add a capacity accessor
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 43ab20ac63ca9f4a4315db6d933ee5ec9fd850e1
User & Date: nat 2014-08-09 10:37:32
Context
2014-08-10
17:13
s_expressions-atom_buffers-tests: use the new capacity accessor in tests check-in: b0c9543345 user: nat tags: trunk
2014-08-09
10:37
s_expressions-atom_buffers: add a capacity accessor check-in: 43ab20ac63 user: nat tags: trunk
2014-08-07
21:03
sxcat: also allow 'x' to represent atoms in separator arguments check-in: fafeac7b41 user: nat tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/natools-s_expressions-atom_buffers.adb.

118
119
120
121
122
123
124






125
126
127
128
129
130
131
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137







+
+
+
+
+
+









   function Length (Buffer : Atom_Buffer) return Count is
   begin
      return Buffer.Used;
   end Length;


   function Capacity (Buffer : Atom_Buffer) return Count is
   begin
      return Buffer.Available;
   end Capacity;


   function Data (Buffer : Atom_Buffer) return Atom is
   begin
      if Buffer.Ref.Is_Empty then
         pragma Assert (Buffer.Available = 0 and Buffer.Used = 0);
         return Null_Atom;
      else

Changes to src/natools-s_expressions-atom_buffers.ads.

41
42
43
44
45
46
47

48
49
50
51
52
53
54
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55







+







   procedure Append_Reverse (Buffer : in out Atom_Buffer; Data : in Atom);
      --  Append bytes from Atom from last to first

   procedure Invert (Buffer : in out Atom_Buffer);
      --  Invert the order of bytes (first becomes last, etc)

   function Length (Buffer : Atom_Buffer) return Count;
   function Capacity (Buffer : Atom_Buffer) return Count;
   function Data (Buffer : Atom_Buffer) return Atom;
   procedure Query
     (Buffer : in Atom_Buffer;
      Process : not null access procedure (Data : in Atom));
   procedure Read
     (Buffer : in Atom_Buffer;
      Data : out Atom;