itpp::it_file Class Reference
[IT++ File Format]

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

#include <itfile.h>

List of all members.

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


Detailed Description

The IT++ file format reading and writing class.

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.

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.

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().


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

Generated on Tue Jun 2 10:02:19 2009 for mixpp by  doxygen 1.5.8