IT++ Logo
Classes | Macros | Functions
IT++ File Format
Base Module

The IT++ file format. More...

Classes

class  itpp::bfstream_base
 Base class for binary file classesThis class serves as a base class for the classes bofstream, bifstream, and bfstream. It controls the endianity (i.e. the byte order of multibyte numbers on the disk) of the inhereted classes. More...
 
class  itpp::binfile_details::Ofstream_Binfile_Facade
 Ofstream Interface Facade for Binary Streams.This class implements std::ofstream facade to make ITPP binary file streams exportable from dll. This facade implements basic functionality only. It does not provide an access to the following stream facilities (all of them are useless for binary streams) More...
 
class  itpp::binfile_details::Ifstream_Binfile_Facade
 Ifstream Interface Facade for Binary Streams.This class implements std::ofstream facade to make ITPP binary file streams exportable from dll. This facade implements basic functionality only. It does not provide an access to the following stream facilities (all of them are useless for binary streams) More...
 
class  itpp::binfile_details::Fstream_Binfile_Facade
 Fstream Interface Facade for Binary Streams.This class implements std::fstream facade to make ITPP binary file streams exportable from dll. This facade implements basic functionality only. It does not provide an access to the following stream facilities (all of them are useless for binary streams) More...
 
class  itpp::bofstream
 Binary Outfile Class. More...
 
class  itpp::bifstream
 Binary Infile Class. More...
 
class  itpp::bfstream
 Binary in/out-file Class. More...
 
class  itpp::it_file_base
 Base class for it_ifile and it_file. More...
 
class  itpp::it_ifile
 The IT++ file format reading class. More...
 
class  itpp::it_file
 The IT++ file format reading and writing class. More...
 
class  itpp::Name
 Automatic naming when savingAn easy way to give a variable a name and optionally description when saving. Usage: More...
 
class  itpp::it_file_base_old
 Base class for it_ifile_old and it_file_old. More...
 
class  itpp::it_ifile_old
 The old (version 2) IT++ file format reading class. More...
 
class  itpp::it_file_old
 The old (version 2) IT++ file format reading and writing class. More...
 
struct  itpp::it_file_base::data_header
 Data header structure. More...
 
struct  itpp::it_file_base::file_header
 File header structure. More...
 
struct  itpp::it_file_base_old::data_header
 Data header structure. More...
 
struct  itpp::it_file_base_old::file_header
 File header structure. More...
 

Macros

#define it_save_var(v)   it_save_var_as(v,#v)
 A convenient macro. Calling it_save_var(M) saves M as 'M' in the file 'M.it'.
 
#define it_load_var(v)   it_load_var_as(v,#v)
 A convenient macro. Calling it_load_var(M) loads M as 'M' in the file 'M.it'.
 

Functions

bool itpp::exist (const std::string &name)
 Checks if a file named name already exists on the disk.
 
it_file & itpp::flush (it_file &f)
 Flush operatorFlushes the data. Usage:
 
it_ifile & itpp::operator>> (it_ifile &f, const Name &s)
 Finds the variable Name in the it_ifile. Returns file pointer for reading.
 
it_file & itpp::operator<< (it_file &f, const Name &s)
 Finds the variable Name in the it_file. Returns file pointer for writing.
 
it_ifile & itpp::operator>> (it_ifile &f, char &v)
 Read the char variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, bool &v)
 Read the bool variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, bin &v)
 Read the binary variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, short &v)
 Read the short variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, int &v)
 Read the integer variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, float &v)
 Read the float variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, double &v)
 Read the double variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, std::complex< float > &v)
 Read the float complex variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, std::complex< double > &v)
 Read the double complex variable v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, bvec &v)
 Read the bvec v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, svec &v)
 Read the svec v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, ivec &v)
 Read the ivec v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, vec &v)
 Read the vec v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, cvec &v)
 Read the cvec v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, std::string &str)
 Read the string str from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, bmat &m)
 Read the bmat m from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, smat &m)
 Read the smat m from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, imat &m)
 Read the imat m from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, mat &m)
 Read the mat m from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, cmat &m)
 Read the cmat m from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< bin > &v)
 Read the binary Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< short > &v)
 Read the short integer Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< int > &v)
 Read the integer Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< float > &v)
 Read the float Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< double > &v)
 Read the double Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< std::complex< float > > &v)
 Read the float complex Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< std::complex< double > > &v)
 Read the double complex Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< bvec > &v)
 Read the bvec Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< svec > &v)
 Read the svec Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< ivec > &v)
 Read the ivec Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< vec > &v)
 Read the vec Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< cvec > &v)
 Read the cvec Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< std::string > &v)
 Read the string Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< bmat > &v)
 Read the bmat Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< smat > &v)
 Read the bmat Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< imat > &v)
 Read the imat Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< mat > &v)
 Read the mat Array v from the it_ifile pointer.
 
it_ifile & itpp::operator>> (it_ifile &f, Array< cmat > &v)
 Read the cmat Array v from the it_ifile pointer.
 
it_file & itpp::operator<< (it_file &f, char x)
 Write the char variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, bool x)
 Write the bool variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, bin x)
 Write the binary variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, short x)
 Write the short variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, int x)
 Write the integer variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, float x)
 Write the float variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, double x)
 Write the double variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, std::complex< float > x)
 Write the float complex variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, std::complex< double > x)
 Write the double complex variable x to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const bvec &v)
 Write the bvec v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const svec &v)
 Write the svec v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const ivec &v)
 Write the ivec v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const vec &v)
 Write the vec v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const cvec &v)
 Write the cvec v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const std::string &str)
 Write the string str to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const bmat &m)
 Write the bmat m to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const smat &m)
 Write the smat m to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const imat &m)
 Write the imat m to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const mat &m)
 Write the mat m to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const cmat &m)
 Write the cmat m to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< bin > &v)
 Write the bin Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< short > &v)
 Write the short int Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< int > &v)
 Write the int Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< float > &v)
 Write the float Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< double > &v)
 Write the double Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< std::complex< float > > &v)
 Write the float complex Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< std::complex< double > > &v)
 Write the double complex Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< bvec > &v)
 Write the bvec Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< svec > &v)
 Write the svec Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< ivec > &v)
 Write the ivec Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< vec > &v)
 Write the vec Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< cvec > &v)
 Write the cvec Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< std::string > &v)
 Write the string Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< bmat > &v)
 Write the bmat Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< smat > &v)
 Write the smat Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< imat > &v)
 Write the imat Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< mat > &v)
 Write the mat Array v to the it_file pointer.
 
it_file & itpp::operator<< (it_file &f, const Array< cmat > &v)
 Write the cmat Array v to the it_file pointer.
 
template<class T >
void itpp::it_save_var_as (const T &v, const std::string &name)
 Save the variable v in the file name.it as the name name.
 
template<class T >
void itpp::it_load_var_as (T &v, const std::string &name)
 Load the variable v from the file name.it as the name name.
 
it_file_old & itpp::flush (it_file_old &f)
 Flush operator.Flushes the data. Usage:
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, const Name &s)
 Finds the variable Name in the it_ifile_old. Returns file pointer for reading.
 
it_file_old & itpp::operator<< (it_file_old &f, const Name &s)
 Finds the variable Name in the it_file_old. Returns file pointer for writing.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, char &v)
 Read the char variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, bin &v)
 Read the binary variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, short &v)
 Read the short variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, int &v)
 Read the integer variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, float &v)
 Read the float variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, double &v)
 Read the double variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, std::complex< float > &v)
 Read the float complex variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, std::complex< double > &v)
 Read the double complex variable v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, vec &v)
 Read the vec v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, ivec &v)
 Read the ivec v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, bvec &v)
 Read the bvec v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, cvec &v)
 Read the cvec v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, std::string &str)
 Read the string str from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, mat &m)
 Read the mat m from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, imat &m)
 Read the imat m from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, bmat &m)
 Read the bmat m from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, cmat &m)
 Read the cmat m from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< float > &v)
 Read the float Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< double > &v)
 Read the double Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< int > &v)
 Read the integer Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< bin > &v)
 Read the binary Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< std::complex< float > > &v)
 Read the float complex Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< std::complex< double > > &v)
 Read the double complex Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< vec > &v)
 Read the vec Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< ivec > &v)
 Read the ivec Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< bvec > &v)
 Read the bvec Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< cvec > &v)
 Read the cvec Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< std::string > &v)
 Read the string Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< mat > &v)
 Read the mat Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< imat > &v)
 Read the imat Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< bmat > &v)
 Read the bmat Array v from the it_ifile_old pointer.
 
it_ifile_old & itpp::operator>> (it_ifile_old &f, Array< cmat > &v)
 Read the cmat Array v from the it_ifile_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, char x)
 Write the char variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, bin x)
 Write the binary variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, short x)
 Write the short variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, int x)
 Write the integer variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, float x)
 Write the float variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, double x)
 Write the double variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, std::complex< float > x)
 Write the float complex variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, std::complex< double > x)
 Write the double complex variable x to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const vec &v)
 Write the vec v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const ivec &v)
 Write the ivec v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const bvec &v)
 Write the bvec v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const cvec &v)
 Write the cvec v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const std::string &str)
 Write the string str to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const mat &m)
 Write the mat m to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const imat &m)
 Write the imat m to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const bmat &m)
 Write the bmat m to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const cmat &m)
 Write the cmat m to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< float > &v)
 Write the float Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< double > &v)
 Write the double Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< int > &v)
 Write the int Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< bin > &v)
 Write the bin Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< std::complex< float > > &v)
 Write the float complex Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< std::complex< double > > &v)
 Write the double complex Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< vec > &v)
 Write the vec Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< ivec > &v)
 Write the ivec Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< bvec > &v)
 Write the bvec Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< cvec > &v)
 Write the cvec Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< std::string > &v)
 Write the string Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< mat > &v)
 Write the mat Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< imat > &v)
 Write the imat Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< bmat > &v)
 Write the bmat Array v to the it_file_old pointer.
 
it_file_old & itpp::operator<< (it_file_old &f, const Array< cmat > &v)
 Write the cmat Array v to the it_file_old pointer.
 

Detailed Description

The IT++ file format.

Author
Tony Ottosson, Tobias Ringstrom and Adam Piatyszek

The IT++ file format is a file format that can be used to save (load) variables to (from) files. These files can also be read an written by Matlab or Octave using the m-files itload.m and itsave.m.

The class it_ifile is used for reading only, whereas the class it_file can be used for both reading and writing.

Saving of a variable is done in two steps. The first step is to supply the name and optionally description of the variable to be saved. This can be done either by calling the function it_file::set_next_name() or by using the helper class Name:

vec v("1 2 3");
bvec b = "0 1 0 1";
it_file f("file.it");
f << Name("v", "A double vector of tree values") << v;
f.set_next_name("b");
f << b;

The reading is done in a similar way:

vec v;
bvec b;
it_ifile f("file.it");
f >> Name("v") >> v;
f.seek("b");
f >> b;
Note
Since version 3, IT++ file format uses the IEEE little endian byte ordering ("ieee-le" in Matlab/Octave). This version is not backward compatible with previous versions. If you need to read/write data in IT++ file format version 2, you can use the it_ifile_old and it_file_old classes. Please have in mind that these "old" classes are deprecated and will be removed from the IT++ library in future.
Warning
Do not use the names that begin with an existing type.

Function Documentation

it_file& itpp::flush ( it_file &  f)
inline

Flush operatorFlushes the data. Usage:

vec v1("1 2 3"), v2;
it_file f("file.it");
f << Name("v") << v1 << flush;

Definition at line 409 of file itfile.h.

References itpp::it_file::flush().

Referenced by itpp::it_assert_f(), itpp::it_error_f(), itpp::it_info_f(), itpp::it_warning_f(), and itpp::MOG_diag_EM_sup::ml_iterate().

it_file_old& itpp::flush ( it_file_old &  f)
inline

Flush operator.Flushes the data. Usage:

vec v1("1 2 3"), v2;
it_file_old f("file.it");
f << Name("v") << v1 << flush;

Definition at line 947 of file itfile.h.

References itpp::it_file_old::flush().

SourceForge Logo

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