#include <binfile.h>
Public Types | |
| enum | endian { l_endian, b_endian } |
| Definition of the endian data type. More... | |
Public Member Functions | |
| bfstream (const std::string &name, endian e=b_endian) | |
| Class constructor that opens a file and sets the endianity. | |
| bfstream () | |
| Class Constructor. | |
| ~bfstream () | |
| Class Destructor. | |
| void | open (const std::string &name, bool trunc=false, endian e=b_endian) |
| Open a file for reading and writing and set the endianity. | |
| void | open_readonly (const std::string &name, endian e=b_endian) |
| Open a file for reading only and set the endianity. | |
| int | length () |
| Returns the length in bytes of the file. | |
| bfstream & | operator<< (char a) |
| Writes an signed char variable to the binary output file. | |
| bfstream & | operator<< (unsigned char a) |
| Writes an unsigned char variable to the binary output file. | |
| bfstream & | operator<< (int16_t a) |
| Writes a 16-bit signed integer variable to the binary output file. | |
| bfstream & | operator<< (uint16_t a) |
| Writes a 16-bit unsigned integer variable to the binary output file. | |
| bfstream & | operator<< (int32_t a) |
| Writes a 32-bit signed integer variable to the binary output file. | |
| bfstream & | operator<< (uint32_t a) |
| Writes a 32-bit unsigned integer variable to the binary output file. | |
| bfstream & | operator<< (int64_t a) |
| Writes a 64-bit signed integer variable to the binary output file. | |
| bfstream & | operator<< (uint64_t a) |
| Writes a 64-bit unsigned ingeger variable to the binary output file. | |
| bfstream & | operator<< (float a) |
| Writes a float variable to the binary output file. | |
| bfstream & | operator<< (double a) |
| Writes a double variable to the binary output file. | |
| bfstream & | operator<< (const char *a) |
| Writes a char* string to the binary output file. | |
| bfstream & | operator<< (const std::string &a) |
| Writes a string variable to the binary output file. | |
| bfstream & | operator>> (char &a) |
| Reads a char variable from the binary output file. | |
| bfstream & | operator>> (unsigned char &a) |
| Reads an unsigned char variable from the binary output file. | |
| bfstream & | operator>> (int16_t &a) |
| Reads a 16-bit signed integer variable from the binary output file. | |
| bfstream & | operator>> (uint16_t &a) |
| Reads a 16-bit unsigned integer variable from the binary output file. | |
| bfstream & | operator>> (int32_t &a) |
| Reads a 32-bit signed integer variable from the binary output file. | |
| bfstream & | operator>> (uint32_t &a) |
| Reads a 32-bit unsigned integer variable from the binary output file. | |
| bfstream & | operator>> (int64_t &a) |
| Reads a 64-bit signed integer variable from the binary output file. | |
| bfstream & | operator>> (uint64_t &a) |
| Reads a 64-bit unsigned ingeger variable from the binary output file. | |
| bfstream & | operator>> (float &a) |
| Reads a float variable from the binary output file. | |
| bfstream & | operator>> (double &a) |
| Reads a double variable from the binary output file. | |
| bfstream & | operator>> (char *a) |
| Reads a char* string from the binary output file. | |
| bfstream & | operator>> (std::string &a) |
| Reads a string variable from the binary output file. | |
| endian | get_endianity () const |
| Returns the endianity of the class. | |
| endian | get_native_endianity () const |
| Returns the native endianity for this computer architecture. | |
| void | set_endianity (endian e) |
| Set the endianity for this class. | |
| void | set_native_endianity () |
| Set the endianity of this class to the native endianity for this computer architecture. | |
Protected Attributes | |
| bool | switch_endianity |
| Indicates if the endianity of the processed data needs to be changed. | |
| endian | native_endianity |
| The native endianity for this computer architecture. | |
enum itpp::bfstream_base::endian [inherited] |
Definition of the endian data type.
The Endianness defines the order in which multibyte numbers are stored in the file. The two orders are called "Little Endian" (l_endian ) and "Big Endian" (b_endian ).
"Little Endian" means that the low-order byte of the number is stored at the lowest address (i.e. the little end comes first). "Big Endian" means that the high-order byte of the number is stored in memory at the lowest address (i.e. the big end comes first)
| itpp::bfstream::bfstream | ( | const std::string & | name, | |
| endian | e = b_endian | |||
| ) |
Class constructor that opens a file and sets the endianity.
| name | The name of the file to open | |
| e | Defines the endianity of the class. Possible values are l_endian for "Little Endian" or b_endian for "Big Endian". The default value is b_endian. |
| endian itpp::bfstream_base::get_native_endianity | ( | ) | const [inline, inherited] |
Returns the native endianity for this computer architecture.
Intel processors use "Little Endian" byte ordering while e.g. Motorola processors use "Big Endian" byte ordering.
References itpp::bfstream_base::native_endianity.
Referenced by itpp::it_file_old::write_data_header().
| void itpp::bfstream::open | ( | const std::string & | name, | |
| bool | trunc = false, |
|||
| endian | e = b_endian | |||
| ) |
Open a file for reading and writing and set the endianity.
| name | The name of the file to open | |
| trunc | Rewrite the file if it exists (default value is false) | |
| e | Defines the endianity of the class (default value is b_endian ) |
References itpp::bfstream_base::native_endianity, and itpp::bfstream_base::switch_endianity.
Referenced by itpp::it_file_old::open(), itpp::it_file::open(), open_readonly(), and itpp::it_file::pack().
| void itpp::bfstream::open_readonly | ( | const std::string & | name, | |
| endian | e = b_endian | |||
| ) |
Open a file for reading only and set the endianity.
| name | The name of the file to open | |
| e | Defines the endianity of the class (default value is b_endian ) |
References itpp::bfstream_base::native_endianity, open(), and itpp::bfstream_base::switch_endianity.
Referenced by itpp::it_ifile_old::open(), and itpp::it_ifile::open().
1.5.8