#include <itfile.h>
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(). | |
virtual | ~it_file () |
Destructor. | |
void | open (const std::string &filename, bool trunc=false) |
Open a file for reading and writing. | |
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 (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. | |
Protected Attributes | |
bool | low_prec |
Low precision flag. If true, use float type, otherwise double. | |
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. | |
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. |
itpp::it_file::it_file | ( | const std::string & | filename, | |
bool | trunc = false | |||
) | [explicit] |
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.
References itpp::exist(), 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().