2 // source-file.hh -- declare Source_file
4 // copyright 1997 Jan Nieuwenhuizen <janneke@gnu.org>
11 #include "interval.hh"
16 /// class for reading and mapping a file.
20 /** Ugh! filename gets changed! The path to the opened file may
21 change, since it might be searched in multiple directories. */
22 Source_file (String filename_str_r );
23 Source_file (String name_str, String data_str);
24 virtual ~Source_file ();
26 char const* ch_C () const;
27 virtual String error_str (char const* pos_ch_c_l ) const;
28 istream * istream_l ();
29 bool in_b (char const* pos_ch_c_l ) const;
30 int length_i () const;
31 virtual int line_i (char const* pos_ch_c_l ) const;
32 String name_str () const;
33 String file_line_column_str (char const* ch_c_l ) const;
36 Slice line_slice (char const* pos_ch_C) const;
37 String line_str (char const* pos_ch_C) const;
38 int column_i (char const* pos_ch_C) const;
39 int char_i (char const* pos_ch_C) const;
44 File_storage * storage_p_;
47 #endif // SOURCE_FILE_HH //