83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
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
return Buffer.Ref.Query.Data.all;
end if;
end Data;
function Raw_Query (Buffer : Atom_Buffer) return Atom_Refs.Accessor is
function Create return Atom;
|
|
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
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
return Buffer.Ref.Query.Data.all (1 .. Buffer.Used);
end if;
end Data;
function Raw_Query (Buffer : Atom_Buffer) return Atom_Refs.Accessor is
function Create return Atom;
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
procedure Query
(Buffer : in Atom_Buffer;
Process : not null access procedure (Data : in Atom)) is
begin
if Buffer.Ref.Is_Empty then
Process.all (Null_Atom);
else
Buffer.Ref.Query (Process);
end if;
end Query;
procedure Read
(Buffer : in Atom_Buffer;
Data : out Atom;
|
|
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
procedure Query
(Buffer : in Atom_Buffer;
Process : not null access procedure (Data : in Atom)) is
begin
if Buffer.Ref.Is_Empty then
Process.all (Null_Atom);
else
Process.all (Buffer.Ref.Query.Data.all (1 .. Buffer.Used));
end if;
end Query;
procedure Read
(Buffer : in Atom_Buffer;
Data : out Atom;
|