5#include "../optional.h"
71 std::optional<std::reference_wrapper<std::istream>>
base_stream()
const;
95 void push(std::streampos pos = 0);
113 virtual size_t read(std::vector<xtd::byte>& buffer,
size_t index,
size_t count);
123 virtual size_t read(std::vector<char>& buffer,
size_t index,
size_t count);
253 void seekg(std::streamoff off, std::ios_base::seekdir dir = std::ios_base::cur);
261 binary_reader& operator >>(
bool& value) {value = read_boolean();
return *
this;}
263 binary_reader& operator >>(
char& value) {value = read_char();
return *
this;}
264 binary_reader& operator >>(
double& value) {value = read_double();
return *
this;}
265 binary_reader& operator >>(int16& value) {value = read_int16();
return *
this;}
266 binary_reader& operator >>(int32& value) {value = read_int32();
return *
this;}
267 binary_reader& operator >>(int64& value) {value = read_int64();
return *
this;}
268 binary_reader& operator >>(sbyte& value) {value = read_sbyte();
return *
this;}
269 binary_reader& operator >>(
float& value) {value = read_single();
return *
this;}
270 binary_reader& operator >>(
string& value) {value = read_string();
return *
this;}
271 binary_reader& operator >>(uint16& value) {value = read_uint16();
return *
this;}
272 binary_reader& operator >>(uint32& value) {value = read_uint32();
return *
this;}
273 binary_reader& operator >>(uint64& value) {value = read_uint64();
return *
this;}
277 std::istream* stream_ =
nullptr;
278 std::stack<std::streampos> pos_stack_;
279 bool delete_when_destroy_ =
false;
Represents text as a sequence of character units.
Definition basic_string.h:79
Reads primitive data types as binary values in a specific encoding.
Definition binary_reader.h:40
binary_reader(const xtd::string &path)
Initializes a new instance of the xtd::io::binary_reader class for the specified file name.
virtual bool read_boolean()
Reads a boolean value from the current stream and advances the current position of the stream by one ...
void seekg(std::streamoff off, std::ios_base::seekdir dir=std::ios_base::cur)
Change the position of the readers stream.
void close()
Closes the xtd::io::binary_reader object and the underlying stream, and releases any system resources...
void push(std::streampos pos=0)
Push the current position.
virtual float read_single()
Reads an 4-byte floating point value from the current stream and advances the current position of the...
virtual size_t read(std::vector< xtd::byte > &buffer, size_t index, size_t count)
Reads the specified number of bytes from the stream, starting from a specified point in the byte arra...
virtual double read_double()
Reads an 8-byte floating point value from the current stream and advances the current position of the...
virtual uint32 read_uint32()
Reads a 4-byte unsigned integer from the current stream and advances the current position of the stre...
virtual uint64 read_uint64()
Reads a 8-byte unsigned integer from the current stream and advances the current position of the stre...
virtual size_t read(std::vector< char > &buffer, size_t index, size_t count)
Reads the specified number of characters from the stream, starting from a specified point in the char...
virtual sbyte read_sbyte()
Reads the a signed byte from the current stream and advances the current position of the stream by on...
binary_reader(std::istream &stream)
Initializes a new instance of the xtd::io::binary_reader class for the specified stream.
virtual int16 read_int16()
Reads a 2-byte signed integer from the current stream and advances the current position of the stream...
void rewind()
Rewind stream.
virtual xtd::byte read_byte()
Reads the next byte from the current stream and advances the current position of the stream by one by...
virtual std::vector< char > read_chars(size_t count)
Reads the specified number of characters from the current stream into a byte array and advances the c...
virtual uint16 read_uint16()
Reads a 2-byte unsigned integer from the current stream and advances the current position of the stre...
bool end_of_stream() const
Gets a value that indicates whether the current stream position is at the end of the stream.
virtual char read_char()
Reads the next character from the current stream and advances the current position of the stream by o...
int32 peek_char() const
Returns the next available character and does not advance the byte or character position.
virtual string read_string()
Reads a string from the current stream. The string is prefixed with the length.
virtual int32 read_int32()
Reads a 4-byte signed integer from the current stream and advances the current position of the stream...
virtual std::vector< xtd::byte > read_bytes(size_t count)
Reads the specified number of bytes from the current stream into a byte array and advances the curren...
std::streampos pop()
Pop the current top position.
virtual int32 read()
Reads characters from the underlying stream and advances the current position of the stream in accord...
virtual int64 read_int64()
Reads a 8-byte signed integer from the current stream and advances the current position of the stream...
std::optional< std::reference_wrapper< std::istream > > base_stream() const
Returns the underlying stream.
std::streampos tellg()
Tell the current seek position of the readers stream;.
Performs operations on std::basic_string instances that contain file or directory path information....
Definition path.h:36
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:42
#define core_export_
Define shared library export.
Definition core_export.h:13
int16_t int16
Represents a 16-bit signed integer.
Definition int16.h:23
int32_t int32
Represents a 32-bit signed integer.
Definition int32.h:23
int64_t int64
Represents a 64-bit signed integer.
Definition int64.h:23
int8_t sbyte
Represents a 8-bit signed integer.
Definition sbyte.h:23
uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.h:23
uint64_t uint64
Represents a 64-bit unsigned integer.
Definition uint64.h:23
uint8_t byte
Represents a 8-bit unsigned integer.
Definition byte.h:23
uint16_t uint16
Represents a 16-bit unsigned integer.
Definition uint16.h:23
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10