class BINARY_FILE_READ
Summary
Overview
creation features
features
  • recycle
    Do whatever needs to be done to free resources or recycle other objects when recycling this one
Skipping separators:
To read one number at a time:
To read one line or one word at a time:
  • last_string: STRING
    Access to the unique common buffer to get for example the result computed by read_line, read_word, newline, etc.
  • read_line
    Read a complete line ended by '%N' or end_of_input.%
  • read_available (limit: INTEGER_32)
    Read as many characters as possible, as long as the stream does not block and up to the given limit.
  • read_word
    Read a word using is_separator of class CHARACTER.
  • newline
    Consume input until newline ('%N') is found.
  • reach_and_skip (keyword: STRING)
    Try to skip enough characters in order to reach the keyword which is skipped too.
Other features:
  • path: STRING
    Not Void when connected to the corresponding file on the disk.
Maximum:
Minimum:
Bits:
connect_to (new_path: STRING)
effective procedure
Open binary file for reading.
disconnect
effective procedure
Disconnect from any file.
can_unread_character: BOOLEAN
effective function
read_byte
effective procedure
Read a byte and assign it to last_byte.
last_byte: INTEGER_32
effective function
Last byte read with read_byte.
read_integer_16_native_endian
effective procedure
Read in the same order as the machine running this code.
read_integer_16_big_endian
effective procedure
Read a big endian value is the file.
read_integer_16_little_endian
effective procedure
Read a little endian value is the file.
last_integer_16: INTEGER_32
writable attribute
Last byte read with read_integer_16_*.
read_integer_32_native_endian
effective procedure
Read in the same order as the machine running this code.
read_integer_32_big_endian
effective procedure
Read a big endian value is the file.
read_integer_32_little_endian
effective procedure
Read a little endian value is the file.
last_integer_32: INTEGER_32
writable attribute
end_of_input: BOOLEAN
writable attribute
end_of_input means the previous attempt in character reading failed because the end has been reached.
seek (new_offset: INTEGER_32)
effective procedure
Next read will start at position offset, counted from the begining of the file.
offset: INTEGER_64
effective function
filtered_descriptor: INTEGER_32
effective function
Find the descriptor of the terminal stream...
filtered_has_descriptor: BOOLEAN
constant attribute
True if the underlying terminal stream has a descriptor
filtered_stream_pointer: POINTER
writable attribute
Find the pointer of the terminal stream...
filtered_has_stream_pointer: BOOLEAN
constant attribute
True if the underlying terminal stream has a pointer
filtered_read_character
effective procedure
filtered_unread_character
effective procedure
filtered_last_character: CHARACTER
writable attribute
writable attribute
buffer_position: INTEGER_32
writable attribute
buffer_size: INTEGER_32
writable attribute
capacity: INTEGER_32
writable attribute
fill_buffer
effective procedure
make
effective procedure
The new created object is not connected.
with_buffer_size (buffer_capacity: INTEGER_32)
effective procedure
binary_file_read_open (path_pointer: POINTER): POINTER
io_fclose (stream: POINTER)
io_fseek (path_pointer: POINTER, new_offset: INTEGER_32): INTEGER_32
io_ftell (path_pointer: POINTER): INTEGER_64
as_16_ne (c1: CHARACTER, c2: CHARACTER): INTEGER_16
as_32_ne (i1: INTEGER_16, i2: INTEGER_16): INTEGER_32
read_character
effective procedure
If read_character fail, end_of_input is set.
read_line_in (buffer: STRING)
effective procedure
Same job as read_line but storage is directly done in buffer.
read_available_in (buffer: STRING, limit: INTEGER_32)
effective procedure
Same job as read_available but storage is directly done in buffer.
unread_character
effective procedure
last_character: CHARACTER
effective function
detach
effective procedure
Shake off the filter.
filtered_read_available_in (buffer: STRING, limit: INTEGER_32)
effective procedure
filtered_read_line_in (buffer: STRING)
effective procedure
writable attribute
The filter that uses this stream as backend
event_can_read: EVENT_DESCRIPTOR
effective function
writable attribute
is_connected: BOOLEAN
deferred function
True if the stream is connected.
descriptor: INTEGER_32
effective function
Some OS-dependent descriptor.
has_descriptor: BOOLEAN
effective function
True if that stream can be associated to some OS-meaningful descriptor.
can_disconnect: BOOLEAN
deferred function
True if the stream can be safely disconnected (without data loss, etc.)
stream_pointer: POINTER
effective function
Some Back-end-dependent pointer (FILE* in C, InputStream or OutputStream in Java)
has_stream_pointer: BOOLEAN
effective function
True if that stream can be associated to some Back-end-meaningful stream pointer.
recycle
effective procedure
Do whatever needs to be done to free resources or recycle other objects when recycling this one
sequencer_descriptor (file: POINTER): INTEGER_32
can_read_character: BOOLEAN
deferred function
Note that this state is usually temporary.
can_read_line: BOOLEAN
deferred function
valid_last_character: BOOLEAN
deferred function
is_filtered: BOOLEAN
deferred function
skip_separators
effective procedure
Skip all separators (see is_separator of class CHARACTER) and make the first non-separator available in last_character.
skip_separators_using (separators: STRING)
effective procedure
Same job as skip_separators using the separators set.
skip_remainder_of_line
effective procedure
Skip all the remainder of the line including the end of line delimiter itself.
read_integer
effective procedure
Read an integer according to the Eiffel syntax.
last_integer: INTEGER_32
writable attribute
Last integer read using read_integer.
valid_last_integer: BOOLEAN
writable attribute
Was the last call to read_integer successful ?
last_real: REAL_64
writable attribute
Last real read with read_real.
valid_last_real: BOOLEAN
writable attribute
Was the last call to read_real successful ?
read_real
effective procedure
Read a REAL and make the result available in last_real.
last_string: STRING
once function
Access to the unique common buffer to get for example the result computed by read_line, read_word, newline, etc.
read_line
effective procedure
Read a complete line ended by '%N' or end_of_input.%
read_available (limit: INTEGER_32)
effective procedure
Read as many characters as possible, as long as the stream does not block and up to the given limit.
read_word
effective procedure
Read a word using is_separator of class CHARACTER.
newline
effective procedure
Consume input until newline ('%N') is found.
reach_and_skip (keyword: STRING)
effective procedure
Try to skip enough characters in order to reach the keyword which is skipped too.
read_word_using (separators: STRING)
effective procedure
Same job as read_word using separators.
read_tail_in (str: STRING)
effective procedure
Read all remaining character of the stream in str.
io_getc (stream: POINTER): INTEGER_32
io_fread (buf: NATIVE_ARRAY[CHARACTER], size: INTEGER_32, stream: POINTER): INTEGER_32
return size read or 0 if end of input (-1 on error => exception ?)
set_filter (a_filter: FILTER)
effective procedure
Used by the filter itself to get attached
path: STRING
writable attribute
Not Void when connected to the corresponding file on the disk.
Maximum_character_code: INTEGER_16
Largest supported code for CHARACTER values.
Maximum_integer_8: INTEGER_8
constant attribute
Largest supported value of type INTEGER_8.
Maximum_integer_16: INTEGER_16
constant attribute
Largest supported value of type INTEGER_16.
Maximum_integer: INTEGER_32
constant attribute
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_32: INTEGER_32
constant attribute
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_64: INTEGER_64
constant attribute
Largest supported value of type INTEGER_64.
Maximum_real_32: REAL_32
constant attribute
Largest non-special (no NaNs nor infinity) supported value of type REAL_32.
Maximum_real: REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_64: REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_80: REAL_EXTENDED
Largest supported value of type REAL_80.
Minimum_character_code: INTEGER_16
Smallest supported code for CHARACTER values.
Minimum_integer_8: INTEGER_8
constant attribute
Smallest supported value of type INTEGER_8.
Minimum_integer_16: INTEGER_16
constant attribute
Smallest supported value of type INTEGER_16.
Minimum_integer: INTEGER_32
constant attribute
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_32: INTEGER_32
constant attribute
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_64: INTEGER_64
constant attribute
Smallest supported value of type INTEGER_64.
Minimum_real_32: REAL_32
constant attribute
Smallest non-special (no NaNs nor infinity) supported value of type REAL_32.
Minimum_real: REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_64: REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_80: REAL_64
Smallest supported value of type REAL_80.
Boolean_bits: INTEGER_32
Number of bits in a value of type BOOLEAN.
Character_bits: INTEGER_32
Number of bits in a value of type CHARACTER.
Integer_bits: INTEGER_32
Number of bits in a value of type INTEGER.
Real_bits: INTEGER_32
constant attribute
Number of bits in a value of type REAL.
Pointer_bits: INTEGER_32
Number of bits in a value of type POINTER.