itpp::bifstream Class Reference
Base Module » IT++ File Format

Binary Infile Class. More...

`#include <itpp/base/binfile.h>`

Inheritance diagram for itpp::bifstream:

## Public Types

enum | endian { l_endian, b_endian }
| Definition of the endian data type. More...

## Public Member Functions

| bifstream (const std::string &name, endian e=b_endian)
| Class constructor that opens a file and sets the endianity. More...
| bifstream ()
| Class Constructor.
| ~bifstream ()
| Class Destructor.
void | open (const std::string &name, endian e=b_endian)
| Open a file for reading and set the endianity. More...
int | length ()
| Returns the length in bytes of the file.
bifstream & | operator>> (char &a)
| Reads a signed char variable from the binary input file.
bifstream & | operator>> (int8_t &a)
| Reads a 8-bit signed integer variable from the binary input file.
bifstream & | operator>> (uint8_t &a)
| Reads a 8-bit unsigned integer variable from the binary input file.
bifstream & | operator>> (int16_t &a)
| Reads a 16-bit signed integer variable from the binary input file.
bifstream & | operator>> (uint16_t &a)
| Reads a 16-bit unsigned integer variable from the binary input file.
bifstream & | operator>> (int32_t &a)
| Reads a 32-bit signed integer variable from the binary input file.
bifstream & | operator>> (uint32_t &a)
| Reads a 32-bit unsigned integer variable from the binary input file.
bifstream & | operator>> (int64_t &a)
| Reads a 64-bit signed integer variable from the binary input file.
bifstream & | operator>> (uint64_t &a)
| Reads a 64-bit unsigned ingeger variable from the binary input file.
bifstream & | operator>> (float &a)
| Reads a float variable from the binary input file.
bifstream & | operator>> (double &a)
| Reads a double variable from the binary input file.
bifstream & | operator>> (bin &a)
| Reads a binary variable from the binary input file.
bifstream & | operator>> (char *a)
| Reads a char* string from the binary input file.
bifstream & | operator>> (std::string &a)
| Reads a string variable from the binary input file.
endian | get_endianity () const
| Returns the endianity of the class.
endian | get_native_endianity () const
| Returns the native endianity for this computer architecture. More...
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.
bool | is_open ()
| Open state.
void | open (const char *filename, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::binary)
| Method to open corresponding file.
void | close ()
| Method to close corresponding file.
std::streamsize | gcount () const
| Last extracted chars count.
int | get ()
| Get single char.
Ifstream_Binfile_Facade & | get (char &c)
| Get single char.
Ifstream_Binfile_Facade & | get (char *s, std::streamsize n)
| Get multiple chars to c-string and add trailing 0.
Ifstream_Binfile_Facade & | get (char *s, std::streamsize n, char delim)
| Get multiple chars to c-string without trailing 0.
Ifstream_Binfile_Facade & | getline (char *s, std::streamsize n)
| Get multiple chars to c-string without trailing 0.
Ifstream_Binfile_Facade & | getline (char *s, std::streamsize n, char delim)
Ifstream_Binfile_Facade & | ignore (std::streamsize n=1, int delim=EOF)
| Extract and ignore chars.
int | peek ()
| Peak single char from the top of the buffer.
Ifstream_Binfile_Facade & | read (char *s, std::streamsize n)
| Read n chars from stream.
std::streamsize | readsome (char *s, std::streamsize n)
| Read up to n available chars from stream.
Ifstream_Binfile_Facade & | putback (char c)
| This method attempts to put back single char.
Ifstream_Binfile_Facade & | unget ()
| Unget last extracted char.
std::streampos | tellg ()
| Get position.
Ifstream_Binfile_Facade & | seekg (std::streampos pos)
| Set position.
Ifstream_Binfile_Facade & | seekg (std::streamoff pos, std::ios_base::seekdir way)
| Set relative position.
bool | good () const
| This method returns true is stream state is good.
bool | eof () const
| This method returns true if eof is reached.
bool | fail () const
| This method returns true if either failbit or badbit is set.
bool | bad () const
| This method returns true if badbit is set.
bool | operator! () const
| Unary not operator to check the stream state.
| operator bool () const
| Conversion to bool to validate stream state.
std::ios_base::iostate | rdstate () const
| Method to read stream state flags.
void | setstate (std::ios_base::iostate state)
| Method to set the stream state (combines already set flags with flags provide by user)
void | clear (std::ios_base::iostate state=std::ios_base::goodbit)
| Method to set stream state (overwrites stream state flags)
std::ios_base::iostate | exceptions () const
| Method to get the exceptions mask.
void | exceptions (std::ios_base::iostate except)
| Method to set the exceptions mask.

## Protected Member Functions

std::ifstream * | stream ()
| Access to internal stream for derived classes.

## 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.

## Detailed Description

Binary Infile Class.

Definition at line 538 of file binfile.h.

## Constructor & Destructor Documentation

itpp::bifstream::bifstream | ( | const std::string & | name,
|  | endian | e = `b_endian`
| ) |  |

Class constructor that opens a file and sets the endianity.

Parameters

  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`.

Definition at line 231 of file binfile.cpp.

## Member Function Documentation

void itpp::bifstream::open | ( | const std::string & | name,
|  | endian | e = `b_endian`
| ) |  |

Open a file for reading and set the endianity.

Parameters

  name | The name of the file to open
  e | Defines the endianity of the class (default value is `b_endian` )

Definition at line 236 of file binfile.cpp.

References itpp::bfstream_base::native_endianity, itpp::binfile_details::Ifstream_Binfile_Facade::open(), and itpp::bfstream_base::switch_endianity.

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.

Definition at line 105 of file binfile.h.

Referenced by itpp::it_file_old::write_data_header().

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

- itpp/base/binfile.h
- itpp/base/binfile.cpp

Generated on Thu Aug 20 2015 21:02:53 for IT++ by Doxygen 1.8.9.1