Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | s_expressions-file_readers: add an atom-reference read function |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
d6e43fe336468d08771d3128e862cfae |
| User & Date: | nat 2014-07-13 14:27:31.329 |
Context
|
2014-07-14
| ||
| 19:04 | s_expressions-file_rw_tests: test the new atom-reference reader check-in: 88f1a31b31 user: nat tags: trunk | |
|
2014-07-13
| ||
| 14:27 | s_expressions-file_readers: add an atom-reference read function check-in: d6e43fe336 user: nat tags: trunk | |
|
2014-07-12
| ||
| 16:08 | reference_tests: use the new access-based constructors, to reach full coverage again check-in: 2d7c2f8e09 user: nat tags: trunk | |
Changes
Changes to src/natools-s_expressions-file_readers.adb.
| ︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
begin
Stream_IO.Set_Index (Object.File, 1);
Stream_IO.Read (Object.File, Result, Last);
pragma Assert (Last = Result'Last);
return Result;
end Read;
procedure Read
(Object : in Atom_Reader;
Data : out Atom;
Length : out Count) is
begin
Stream_IO.Set_Index (Object.File, 1);
| > > > > > > > > > > > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
begin
Stream_IO.Set_Index (Object.File, 1);
Stream_IO.Read (Object.File, Result, Last);
pragma Assert (Last = Result'Last);
return Result;
end Read;
function Read (Object : Atom_Reader) return Atom_Refs.Reference is
Length : constant Count := Object.Length;
Result : constant Atom_Refs.Reference
:= Atom_Refs.Create (new Atom (1 .. Length));
Last : Count;
begin
Stream_IO.Set_Index (Object.File, 1);
Stream_IO.Read (Object.File, Result.Update.Data.all, Last);
pragma Assert (Last = Length);
return Result;
end Read;
procedure Read
(Object : in Atom_Reader;
Data : out Atom;
Length : out Count) is
begin
Stream_IO.Set_Index (Object.File, 1);
|
| ︙ | ︙ |
Changes to src/natools-s_expressions-file_readers.ads.
| ︙ | ︙ | |||
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ------------------------------------------------------------------------------ -- Natools.S_Expressions.File_Readers provides types that read into files -- -- on disk (using Stream_IO) and expose their data as S-expressions or as -- -- atoms. -- ------------------------------------------------------------------------------ with Natools.S_Expressions.Atom_Buffers; with Natools.S_Expressions.Lockable; private with Ada.Finalization; private with Ada.Streams.Stream_IO; private with Natools.S_Expressions.Parsers; package Natools.S_Expressions.File_Readers is | > | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ------------------------------------------------------------------------------ -- Natools.S_Expressions.File_Readers provides types that read into files -- -- on disk (using Stream_IO) and expose their data as S-expressions or as -- -- atoms. -- ------------------------------------------------------------------------------ with Natools.S_Expressions.Atom_Buffers; with Natools.S_Expressions.Atom_Refs; with Natools.S_Expressions.Lockable; private with Ada.Finalization; private with Ada.Streams.Stream_IO; private with Natools.S_Expressions.Parsers; package Natools.S_Expressions.File_Readers is |
| ︙ | ︙ | |||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
function Length (Object : Atom_Reader) return Count;
-- Return the file length
function Read (Object : Atom_Reader) return Atom;
-- Read the whole file and return it as a single atom
procedure Read
(Object : in Atom_Reader;
Data : out Atom;
Length : out Count);
-- Read the whole file and store it in Data, along with its Length.
-- If Data is too small, only the file prefix is read.
| > > > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
function Length (Object : Atom_Reader) return Count;
-- Return the file length
function Read (Object : Atom_Reader) return Atom;
-- Read the whole file and return it as a single atom
function Read (Object : Atom_Reader) return Atom_Refs.Reference;
-- Read the whole file to memory and return a reference to the data
procedure Read
(Object : in Atom_Reader;
Data : out Atom;
Length : out Count);
-- Read the whole file and store it in Data, along with its Length.
-- If Data is too small, only the file prefix is read.
|
| ︙ | ︙ |