xtd 0.2.0
Loading...
Searching...
No Matches
xtd::io::binary_reader Class Reference
Inheritance diagram for xtd::io::binary_reader:
xtd::object

Definition

Reads primitive data types as binary values in a specific encoding.

binary_reader(const xtd::string &path)
Initializes a new instance of the xtd::io::binary_reader class for the specified file name.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
#define core_export_
Define shared library export.
Definition core_export.hpp:13
Inheritance
xtd::objectxtd::io::binary_reader
Header
#include <xtd/io/binary_reader>
Namespace
xtd::io
Library
xtd.core
Examples
The following code example demonstrates how to store and retrieve application settings in a file.
#include <xtd/xtd>
class program {
inline static const string file_name = "app_settings.dat";
public:
static auto main() {
write_default_values();
display_values();
}
static void write_default_values() {
using_(auto fs = file::open(file_name, std::ios::out | std::ios::binary | std::ios::trunc)) {
auto writer = binary_writer {fs};
writer.write(1.250F);
writer.write(R"(c:\Temp)");
writer.write(10);
writer.write(true);
}
}
static void display_values() {
auto aspect_ratio = .0f;
auto temp_directory = string::empty_string;
auto auto_save_time = 0;
auto show_status_bar = false;
if (file::exists(file_name)) {
using_(auto fs = file::open(file_name, std::ios::in | std::ios::binary)) {
auto reader = binary_reader {fs};
aspect_ratio = reader.read_single();
temp_directory = reader.read_string();
auto_save_time = reader.read_int32();
show_status_bar = reader.read_boolean();
}
console::write_line("Aspect ratio set to: {}", aspect_ratio);
console::write_line("Temp directory is: {}", temp_directory);
console::write_line("Auto save time set to: {}", auto_save_time);
console::write_line("Show status bar: {}", show_status_bar);
}
}
};
startup_(program::main);
// This code produces the following output :
//
// Aspect ratio set to: 1.25
// Temp directory is: c:\Temp
// Auto save time set to: 10
// Show status bar: true
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
Writes primitive types in binary to a stream and supports writing strings.
Definition binary_writer.hpp:47
virtual auto write(bool value) -> void
Writes a one-byte boolean value to the current stream, with 0 representing false and 1 representing t...
static auto open(const xtd::string &path, std::ios::openmode mode) -> std::fstream
Opens a FileStream on the specified path.
#define startup_(main_method)
Defines the entry point to be called when the application loads. Generally this is set either to the ...
Definition startup.hpp:282
#define using_(...)
The specified expression is cleared automatically when the scope is ended.
Definition using.hpp:33
Examples
The same example with stream operators.
#include <xtd/xtd>
class program {
inline static const string file_name = "app_settings.dat";
public:
static auto main() {
write_default_values();
display_values();
}
static void write_default_values() {
using_(auto fs = file::open(file_name, std::ios::out | std::ios::binary | std::ios::trunc)) {
auto writer = binary_writer {fs};
writer << 1.250F;
writer << R"(c:\Temp)";
writer << 10;
writer << true;
}
}
static void display_values() {
auto aspect_ratio = .0f;
auto temp_directory = string::empty_string;
auto auto_save_time = 0;
auto show_status_bar = false;
if (file::exists(file_name)) {
using_(auto fs = file::open(file_name, std::ios::in | std::ios::binary)) {
auto reader = binary_reader {fs};
reader >> aspect_ratio;
reader >> temp_directory;
reader >> auto_save_time;
reader >> show_status_bar;
}
console::write_line("Aspect ratio set to: {}", aspect_ratio);
console::write_line("Temp directory is: {}", temp_directory);
console::write_line("Auto save time set to: {}", auto_save_time);
console::write_line("Show status bar: {}", show_status_bar);
}
}
};
startup_(program::main);
// This code produces the following output :
//
// Aspect ratio set to: 1.25
// Temp directory is: c:\Temp
// Auto save time set to: 10
// Show status bar: true
Remarks
The xtd:io::binary_reader class provides methods that simplify reading primitive data types from a stream. For example, you can use the xtd:io::binary_reader::read_boolean method to read the next byte as a bool value and advance the current position in the stream by one byte. The class includes read methods that support different data types.
When you create a new instance of the xtd:io::binary_reader and whether to leave the stream open after disposing the xtd:io::binary_reader object.
Note
xtd xtd::io::binary_reader and xtd::io::binary_writer are fully compatible with .NET BinaryReader/BinaryWriter.
Files written with xtd can be read directly in C# and vice versa, following the same binary format conventions (7-bit encoded string lengths, little-endian integers, etc.).
Examples
binary_reader3.cpp.

Public Constructors

 binary_reader (const xtd::string &path)
 Initializes a new instance of the xtd::io::binary_reader class for the specified file name.
 
 binary_reader (std::istream &stream)
 Initializes a new instance of the xtd::io::binary_reader class for the specified stream.
 

Public Properties

auto base_stream () const -> std::optional< xtd::ref< std::istream > >
 Returns the underlying stream.
 
auto end_of_stream () const -> bool
 Gets a value that indicates whether the current stream position is at the end of the stream.
 

Public Methods

auto close () -> void
 Closes the xtd::io::binary_reader object and the underlying stream, and releases any system resources associated with the reader.
 
auto peek_char () const -> xtd::int32
 Returns the next available character and does not advance the byte or character position.
 
auto pop () -> std::streampos
 Pop the current top position.
 
auto push (std::streampos pos=0) -> void
 Push the current position.
 
virtual auto read () -> xtd::int32
 Reads characters from the underlying stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.
 
virtual auto read (xtd::array< xtd::byte > &buffer, xtd::size index, xtd::size count) -> xtd::size
 Reads the specified number of bytes from the stream, starting from a specified point in the byte array.
 
virtual auto read (xtd::array< char > &buffer, xtd::size index, xtd::size count) -> xtd::size
 Reads the specified number of characters from the stream, starting from a specified point in the character array.
 
virtual auto read_boolean () -> bool
 Reads a boolean value from the current stream and advances the current position of the stream by one byte.
 
virtual auto read_byte () -> xtd::byte
 Reads the next byte from the current stream and advances the current position of the stream by one byte.
 
virtual auto read_bytes (xtd::size count) -> xtd::array< xtd::byte >
 Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes.
 
virtual auto read_char () -> char
 Reads the next character from the current stream and advances the current position of the stream by one byte.
 
virtual auto read_chars (xtd::size count) -> xtd::array< char >
 Reads the specified number of characters from the current stream into a byte array and advances the current position by that number of bytes.
 
virtual auto read_double () -> double
 Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes.
 
virtual auto read_int16 () -> xtd::int16
 Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes.
 
virtual auto read_int32 () -> xtd::int32
 Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.
 
virtual auto read_int64 () -> xtd::int64
 Reads a 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes.
 
virtual auto read_sbyte () -> xtd::sbyte
 Reads the a signed byte from the current stream and advances the current position of the stream by one byte.
 
virtual auto read_single () -> float
 Reads an 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.
 
virtual auto read_size () -> xtd::size
 Reads a xtd::size from the current stream and advances the current position of the stream by eight bytes.
 
virtual auto read_string () -> xtd::string
 Reads a string from the current stream. The string is prefixed with the length.
 
virtual auto read_uint16 () -> xtd::uint16
 Reads a 2-byte unsigned integer from the current stream and advances the current position of the stream by two bytes.
 
virtual auto read_uint32 () -> xtd::uint32
 Reads a 4-byte unsigned integer from the current stream and advances the current position of the stream by four bytes.
 
virtual auto read_uint64 () -> xtd::uint64
 Reads a 8-byte unsigned integer from the current stream and advances the current position of the stream by eight bytes.
 
auto rewind () -> void
 Rewind stream.
 
virtual auto seek (std::streamoff off, std::ios_base::seekdir dir=std::ios_base::cur) -> void
 Change the position of the readers stream.
 
auto tell () -> std::streampos
 Tell the current seek position of the readers stream;.
 

Additional Inherited Members

 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
virtual xtd::size get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<class object_t>
xtd::unique_ptr_object< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
virtual xtd::string to_string () const
 Returns a xtd::string that represents the current object.
 
template<class object_a_t, class object_b_t>
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<class object_a_t, class object_b_t>
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

Constructor & Destructor Documentation

◆ binary_reader() [1/2]

xtd::io::binary_reader::binary_reader ( const xtd::string & path)
explicit

Initializes a new instance of the xtd::io::binary_reader class for the specified file name.

Parameters
pathThe complete file path to be read.
Exceptions
xtd::argument_exceptionpath is a zero-length string, contains only white space, or contains one or more invalid characters as defined by xtd::io::path::invalid_path_chars.
Remarks
For a list of common I/O tasks, see Common I/O Tasks.

◆ binary_reader() [2/2]

xtd::io::binary_reader::binary_reader ( std::istream & stream)
explicit

Initializes a new instance of the xtd::io::binary_reader class for the specified stream.

Parameters
streamThe stream to be read.
Examples
The following code example demonstrates how to store and retrieve application settings in a file.
#include <xtd/xtd>
class program {
inline static const string file_name = "app_settings.dat";
public:
static auto main() {
write_default_values();
display_values();
}
static void write_default_values() {
using_(auto fs = file::open(file_name, std::ios::out | std::ios::binary | std::ios::trunc)) {
auto writer = binary_writer {fs};
writer.write(1.250F);
writer.write(R"(c:\Temp)");
writer.write(10);
writer.write(true);
}
}
static void display_values() {
auto aspect_ratio = .0f;
auto temp_directory = string::empty_string;
auto auto_save_time = 0;
auto show_status_bar = false;
if (file::exists(file_name)) {
using_(auto fs = file::open(file_name, std::ios::in | std::ios::binary)) {
auto reader = binary_reader {fs};
aspect_ratio = reader.read_single();
temp_directory = reader.read_string();
auto_save_time = reader.read_int32();
show_status_bar = reader.read_boolean();
}
console::write_line("Aspect ratio set to: {}", aspect_ratio);
console::write_line("Temp directory is: {}", temp_directory);
console::write_line("Auto save time set to: {}", auto_save_time);
console::write_line("Show status bar: {}", show_status_bar);
}
}
};
startup_(program::main);
// This code produces the following output :
//
// Aspect ratio set to: 1.25
// Temp directory is: c:\Temp
// Auto save time set to: 10
// Show status bar: true
Remarks
For a list of common I/O tasks, see Common I/O Tasks.

Member Function Documentation

◆ base_stream()

auto xtd::io::binary_reader::base_stream ( ) const -> std::optional< xtd::ref< std::istream > >
nodiscard

Returns the underlying stream.

Returns
The underlying stream.
Warning
Using the underlying stream while reading or while using the xtd::io::binary_reader can cause data loss and corruption. For example, the same bytes might be read more than once, bytes might be skipped, or character reading might become unpredictable.
Remarks
For a list of common I/O tasks, see Common I/O Tasks.

◆ end_of_stream()

auto xtd::io::binary_reader::end_of_stream ( ) const -> bool
nodiscard

Gets a value that indicates whether the current stream position is at the end of the stream.

Returns
true if the current stream position is at the end of the stream; otherwise false.

◆ close()

auto xtd::io::binary_reader::close ( ) -> void

Closes the xtd::io::binary_reader object and the underlying stream, and releases any system resources associated with the reader.

◆ peek_char()

auto xtd::io::binary_reader::peek_char ( ) const -> xtd::int32
nodiscard

Returns the next available character and does not advance the byte or character position.

Returns
The next available character, or EOF if no more characters are available or the stream does not support seeking.
Exceptions
xtd::io::io_exceptionAn I/O error occurred.
Remarks
For a list of common I/O tasks, see Common I/O Tasks.

◆ pop()

auto xtd::io::binary_reader::pop ( ) -> std::streampos

Pop the current top position.

Examples
binary_reader3.cpp.

◆ push()

auto xtd::io::binary_reader::push ( std::streampos pos = 0) -> void

Push the current position.

Parameters
posThe stream position to be push/saved relative to ios_base::beg direction
Examples
binary_reader3.cpp.

◆ read() [1/3]

virtual auto xtd::io::binary_reader::read ( ) -> xtd::int32
nodiscardvirtual

Reads characters from the underlying stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.

Returns
The next character from the input stream, or EOF if no characters are currently available.
Exceptions
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read() [2/3]

virtual auto xtd::io::binary_reader::read ( xtd::array< xtd::byte > & buffer,
xtd::size index,
xtd::size count ) -> xtd::size
virtual

Reads the specified number of bytes from the stream, starting from a specified point in the byte array.

Parameters
bufferThe buffer to read data into.
indexThe starting point in the buffer at which to begin reading into the buffer.
countThe number of bytes to read.
Returns
The number of bytes read into buffer. This might be less than the number of bytes requested if that many bytes are not available, or it might be zero if the end of the stream is reached.
Exceptions
xtd::argument_exceptionThe buffer length minus index is less than count.
xtd::io_io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read() [3/3]

virtual auto xtd::io::binary_reader::read ( xtd::array< char > & buffer,
xtd::size index,
xtd::size count ) -> xtd::size
virtual

Reads the specified number of characters from the stream, starting from a specified point in the character array.

Parameters
bufferThe buffer to read data into.
indexThe starting point in the buffer at which to begin reading into the buffer.
countThe number of characters to read.
Exceptions
xtd::argument_exceptionThe buffer length minus index is less than count.
xtd::io_io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_boolean()

virtual auto xtd::io::binary_reader::read_boolean ( ) -> bool
nodiscardvirtual

Reads a boolean value from the current stream and advances the current position of the stream by one byte.

Returns
true if the byte is nonzero; otherwise, false.
Exceptions
xtd::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_byte()

virtual auto xtd::io::binary_reader::read_byte ( ) -> xtd::byte
nodiscardvirtual

Reads the next byte from the current stream and advances the current position of the stream by one byte.

Returns
The next byte read from the current stream.
Exceptions
xtd::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_bytes()

virtual auto xtd::io::binary_reader::read_bytes ( xtd::size count) -> xtd::array< xtd::byte >
nodiscardvirtual

Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes.

Parameters
countThe number of bytes to read. This value must be 0 or a non-negative number or an exception will occur.
Returns
A byte array containing data read from the underlying stream. This might be less than the number of bytes requested if the end of the stream is reached.
Exceptions
xtd::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_char()

virtual auto xtd::io::binary_reader::read_char ( ) -> char
nodiscardvirtual

Reads the next character from the current stream and advances the current position of the stream by one byte.

Returns
A character read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_chars()

virtual auto xtd::io::binary_reader::read_chars ( xtd::size count) -> xtd::array< char >
nodiscardvirtual

Reads the specified number of characters from the current stream into a byte array and advances the current position by that number of bytes.

Parameters
countThe number of characters to read. This value must be 0 or a non-negative number or an exception will occur.
Returns
A character array containing data read from the underlying stream. This might be less than the number of bytes requested if the end of the stream is reached.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_double()

virtual auto xtd::io::binary_reader::read_double ( ) -> double
nodiscardvirtual

Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes.

Returns
An 8-byte floating point value read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_int16()

virtual auto xtd::io::binary_reader::read_int16 ( ) -> xtd::int16
nodiscardvirtual

Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes.

Returns
A 2-byte signed integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_int32()

virtual auto xtd::io::binary_reader::read_int32 ( ) -> xtd::int32
nodiscardvirtual

Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.

Returns
A 4-byte signed integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_int64()

virtual auto xtd::io::binary_reader::read_int64 ( ) -> xtd::int64
nodiscardvirtual

Reads a 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes.

Returns
A 8-byte signed integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_sbyte()

virtual auto xtd::io::binary_reader::read_sbyte ( ) -> xtd::sbyte
nodiscardvirtual

Reads the a signed byte from the current stream and advances the current position of the stream by one byte.

Returns
A signed byte read from the current stream.
Exceptions
xtd::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_single()

virtual auto xtd::io::binary_reader::read_single ( ) -> float
nodiscardvirtual

Reads an 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.

Returns
An 4-byte floating point value read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_size()

virtual auto xtd::io::binary_reader::read_size ( ) -> xtd::size
nodiscardvirtual

Reads a xtd::size from the current stream and advances the current position of the stream by eight bytes.

Returns
A xtd::size read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_string()

virtual auto xtd::io::binary_reader::read_string ( ) -> xtd::string
nodiscardvirtual

Reads a string from the current stream. The string is prefixed with the length.

Returns
The string being read.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_uint16()

virtual auto xtd::io::binary_reader::read_uint16 ( ) -> xtd::uint16
nodiscardvirtual

Reads a 2-byte unsigned integer from the current stream and advances the current position of the stream by two bytes.

Returns
A 2-byte unsigned integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_uint32()

virtual auto xtd::io::binary_reader::read_uint32 ( ) -> xtd::uint32
nodiscardvirtual

Reads a 4-byte unsigned integer from the current stream and advances the current position of the stream by four bytes.

Returns
A 4-byte unsigned integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ read_uint64()

virtual auto xtd::io::binary_reader::read_uint64 ( ) -> xtd::uint64
nodiscardvirtual

Reads a 8-byte unsigned integer from the current stream and advances the current position of the stream by eight bytes.

Returns
A 8-byte unsigned integer read from the current stream.
Exceptions
xtd::io::end_of_stream_exceptionThe end of the stream is reached.
xtd::io::io_exceptionAn I/O error occurred.
Remarks
xtd::io::binary_reader does not restore the file position after an unsuccessful read operation.
For a list of common I/O tasks, see Common I/O Tasks.

◆ rewind()

auto xtd::io::binary_reader::rewind ( ) -> void

Rewind stream.

Examples
binary_reader3.cpp.

◆ seek()

virtual auto xtd::io::binary_reader::seek ( std::streamoff off,
std::ios_base::seekdir dir = std::ios_base::cur ) -> void
virtual

Change the position of the readers stream.

Parameters
offThe offset being added to the direction
dirThe seek direction. If ommited defaults to ios_base::cur

◆ tell()

auto xtd::io::binary_reader::tell ( ) -> std::streampos
nodiscard

Tell the current seek position of the readers stream;.

Returns
The current seek position

The documentation for this class was generated from the following file: