itpp::it_file Class Reference
IT++ File Format

The IT++ file format reading and writing class. More...

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

Inheritance diagram for itpp::it_file:

## Public Types

typedef it_file &(* | it_manip )(it_file &)
| ACTION: Add documentation for this typedef.

## Public Member Functions

| it_file ()
| Default constructor.
| it_file (const std::string &filename, bool trunc=false)
| Constructor that calls open() More...
virtual | ~it_file ()
| Destructor.
void | open (const std::string &filename, bool trunc=false)
| Open a file for reading and writing. More...
void | close ()
| Close the file.
void | flush ()
| Flush the data to disk.
bfstream & | low_level ()
| Returns pointer to the underlying `bfstream` used.
void | set_low_precision (bool p=true)
| Set the precision. Low precision means floats, high means doubles.
bool | get_low_precision () const
| Get the precision.
void | set_next_name (const std::string &name, const std::string &description="")
| Set the name and optionally description of the next variable to be saved.
void | write_file_header ()
| Write the header for the `it_file`.
void | write_data_header (const std::string &type, uint64_t size)
| Write the data header for a variable, specifying the type and size of the data to follow.
void | write_data_header (const std::string &type, const std::string &name, uint64_t size, const std::string &description="")
| Write the data header for a variable, specifying the type, name, size and optionally description of the data to follow.
void | low_level_write (char x)
| Write a char value at the current file pointer position.
void | low_level_write (uint64_t x)
| Write an unsigned integer 64-bit value at the current file pointer position.
void | low_level_write (bool x)
| Write a bool value at the current file pointer position.
void | low_level_write (bin x)
| Write a binary value at the current file pointer position.
void | low_level_write (short x)
| Write a short value at the current file pointer position.
void | low_level_write (int x)
| Write an integer value at the current file pointer position.
void | low_level_write (float x)
| Write a float value at the current file pointer position.
void | low_level_write (double x)
| Write a double value at the current file pointer position.
void | low_level_write (const std::complex< float > &x)
| Write a float complex value at the current file pointer position.
void | low_level_write (const std::complex< double > &x)
| Write a double complex value at the current file pointer position.
void | low_level_write (const bvec &v)
| Write a bvec at the current file pointer position.
void | low_level_write (const svec &v)
| Write an svec at the current file pointer position.
void | low_level_write (const ivec &v)
| Write an ivec at the current file pointer position.
void | low_level_write (const vec &v)
| Write a vec at the current file pointer position.
void | low_level_write (const cvec &v)
| Write a cvec at the current file pointer position.
void | low_level_write (const std::string &str)
| Write a string at the current file pointer position.
void | low_level_write (const bmat &m)
| Write a bmat at the current file pointer position.
void | low_level_write (const smat &m)
| Write an smat at the current file pointer position.
void | low_level_write (const imat &m)
| Write an imat at the current file pointer position.
void | low_level_write (const mat &m)
| Write a mat at the current file pointer position.
void | low_level_write (const cmat &m)
| Write a cmat at the current file pointer position.
void | low_level_write (const Array< bin > &v)
| Write a bin Array at the current file pointer position.
void | low_level_write (const Array< short > &v)
| Write a short Array at the current file pointer position.
void | low_level_write (const Array< int > &v)
| Write an integer Array at the current file pointer position.
void | low_level_write (const Array< float > &v)
| Write a float Array at the current file pointer position.
void | low_level_write (const Array< double > &v)
| Write a double Array at the current file pointer position.
void | low_level_write (const Array< std::complex< float > > &v)
| Write a float complex Array at the current file pointer position.
void | low_level_write (const Array< std::complex< double > > &v)
| Write a double complex Array at the current file pointer position.
it_file & | operator<< (it_manip func)
| ACTION: ADD DOCUMENTATION FOR THIS MEMBER !!!!!!!!
void | remove (const std::string &name)
| Removes the variable `name` from the file.
bool | exists (const std::string &name)
| Returns true if the variable `name` exists in the file.
void | pack ()
| Remove slack space from the file.
void | open (const std::string &filename)
| Open an existing file in read-only mode.
bool | read_check_file_header ()
| Read and check the file header. Return true if the header is valid and false otherwise.
void | read_data_header (it_file_base::data_header &h)
| Read data header and return the result in the variable `h`.
void | low_level_read (char &x)
| Read a char value at the current file pointer position.
void | low_level_read (uint64_t &x)
| Read a 64-bit unsigned integer value at the current file pointer position.
void | low_level_read (bool &x)
| Read a bool value at the current file pointer position.
void | low_level_read (bin &x)
| Read a binary value at the current file pointer position.
void | low_level_read (short &x)
| Read a short value at the current file pointer position.
void | low_level_read (int &x)
| Read an integer value at the current file pointer position.
void | low_level_read (float &x)
| Read a float value at the current file pointer position.
void | low_level_read (double &x)
| Read a double value at the current file pointer position.
void | low_level_read (std::complex< float > &x)
| Read a float complex value at the current file pointer position.
void | low_level_read (std::complex< double > &x)
| Read a double complex value at the current file pointer position.
void | low_level_read (bvec &v)
| Read a vector of binary values at the current file pointer position.
void | low_level_read (svec &v)
| Read a vector of short integer values at the current file pointer position.
void | low_level_read (ivec &v)
| Read a vector of integer values at the current file pointer position.
void | low_level_read (std::string &str)
| Read a string at the current file pointer position.
void | low_level_read (bmat &m)
| Read a matrix of binary values at the current file pointer position.
void | low_level_read (smat &m)
| Read a matrix of short integer values at the current file pointer position.
void | low_level_read (imat &m)
| Read a matrix of integer values at the current file pointer position.
void | low_level_read (Array< bin > &v)
| Read an Array of binary values at the current file pointer position.
void | low_level_read (Array< short > &v)
| Read an Array of short integer values at the current file pointer position.
void | low_level_read (Array< int > &v)
| Read an Array of integer values at the current file pointer position.
void | low_level_read (Array< float > &v)
| Read an Array of float values at the current file pointer position.
void | low_level_read (Array< std::complex< float > > &v)
| Read an Array of float complex values at the current file pointer position.
void | low_level_read_lo (vec &v)
| Read a vector of float values at the current file pointer position.
void | low_level_read_lo (cvec &v)
| Read a vector of float complex values at the current file pointer position.
void | low_level_read_lo (mat &m)
| Read a matrix of float values at the current file pointer position.
void | low_level_read_lo (cmat &m)
| Read a matrix of float complex values at the current file pointer position.
void | low_level_read_lo (Array< double > &v)
| Read an Array of float values at the current file pointer position.
void | low_level_read_lo (Array< std::complex< double > > &v)
| Read an Array of float complex values at the current file pointer position.
void | low_level_read_hi (vec &v)
| Read a vector of double values at the current file pointer position.
void | low_level_read_hi (cvec &v)
| Read a vector of double complex values at the current file pointer position.
void | low_level_read_hi (mat &m)
| Read a matrix of double values at the current file pointer position.
void | low_level_read_hi (cmat &m)
| Read a matrix of double complex values at the current file pointer position.
void | low_level_read_hi (Array< double > &v)
| Read an Array of double values at the current file pointer position.
void | low_level_read_hi (Array< std::complex< double > > &v)
| Read an Array of double complex values at the current file pointer position.
bool | seek (const std::string &name)
| Find the variable `name`.
bool | seek (int n)
| Find the variable number `n`.
void | info (std::string &name, std::string &type, std::string &desc, uint64_t &bytes)
| Get information about the current variable.

## Protected Member Functions

void | remove ()
| Remove the current variable, denoted by `next_name`.
void | write_data_header_here (const data_header &h)
| Write data header `h` at the current file position.
std::string & | next_name ()
| Name to be used for saving the next variable.
std::string & | next_desc ()
| Description to be used for saving the next variable.

## Protected Attributes

bool | low_prec
| Low precision flag. If true, use float type, otherwise double.
bfstream | s
| Protected binary file stream.

## Static Protected Attributes

static char | file_magic [4] = { 'I', 'T', '+', '+' }
| IT++ file marker: "IT++".
static char | file_version = 3
| IT++ file version.

## Detailed Description

The IT++ file format reading and writing class.

Definition at line 245 of file itfile.h.

## Constructor & Destructor Documentation

itpp::it_file::it_file | ( | const std::string & | filename,
|  | bool | trunc = `false`
| ) |  |

explicit

Constructor that calls open()

If the file does not exist it will be created. If `trunc` is true, the file will be truncated.

Definition at line 506 of file itfile.cpp.

References open().

## Member Function Documentation

void itpp::it_file::open | ( | const std::string & | filename,
|  | bool | trunc = `false`
| ) |  |

Open a file for reading and writing.

If the file does not exist it will be created. If `trunc` is true, the file will be truncated.

Definition at line 512 of file itfile.cpp.

References itpp::binfile_details::Fstream_Binfile_Facade::close(), itpp::exist(), itpp::binfile_details::Fstream_Binfile_Facade::is_open(), it_assert, it_error, itpp::bfstream::open(), itpp::it_ifile::read_check_file_header(), itpp::it_ifile::s, and write_file_header().

Referenced by it_file(), and itpp::LDPC_Code::save_code().

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

- itpp/base/itfile.h
- itpp/base/itfile.cpp

Generated on Thu Mar 20 2014 12:26:46 for IT++ by Doxygen 1.8.6