IT++ Logo
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
itpp::it_file Class Reference

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

#include <itpp/base/itfile.h>

Inheritance diagram for itpp::it_file:
itpp::it_ifile itpp::it_file_base

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.
 
bfstreamlow_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_fileoperator<< (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:
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:30 for IT++ by Doxygen 1.8.2