bdm::dirfilelog Class Reference

Logging into dirfile with buffer in memory. More...

#include <loggers.h>

List of all members.

Public Member Functions

 dirfilelog (std::string dirname0, int maxlen0)
 Default constructor.
void init ()
 Initialize storage.
void step ()
 Shifts storage position for another time step.
void finalize ()
 Finalize storing information.
void write_buffers (int Len)
 Write memory storage to disk.
void logit (int id, const vec &v)
 log this vector
void itsave (const char *fname)
 Save values into an itfile named after fname.
virtual int add (const RV &rv, string name="")

Protected Attributes

string dirname
 name of the directory
Array< string > scalarnames
 Automatically generated.
int maxlen
 Maximum length of vectors stored in memory.
int ind
 Currect record to be written.
Array< mat > vectors
 Storage.
Array< RVentries
 RVs of all logged variables.
Array< string > names
 Names of logged quantities, e.g. names of algorithm variants.


Detailed Description

Logging into dirfile with buffer in memory.

Dirfile is a special format used by the kst program. See documentation of kst for description.

This format is used to store scalars, hence multivariate RVs must be separated.


Constructor & Destructor Documentation

bdm::dirfilelog::dirfilelog ( std::string  dirname0,
int  maxlen0 
) [inline]

Default constructor.

Parameters:
dirname0 name of the directory in which to store the results
maxlen0 length of the memory buffers, when full the buffers will be dumped to HDD and returned to the beginning.


Member Function Documentation

virtual int bdm::logger::add ( const RV rv,
string  name = "" 
) [inline, virtual, inherited]

returns an identifier which will be later needed for calling the logit() function For empty RV it returns -1, this entry will be ignored by logit().

References bdm::RV::_dsize(), bdm::logger::entries, and bdm::logger::names.

Referenced by pmsmDS::log_add(), bdm::ArxDS::log_add(), bdm::BM::log_add(), and bdm::DS::log_add().

void bdm::dirfilelog::write_buffers ( int  Len  ) 

Write memory storage to disk.

Parameters:
Len length of buffer to be written, if 0 the file is truncated at 0.

References dirname, bdm::logger::entries, bdm::memlog::maxlen, scalarnames, and bdm::memlog::vectors.

Referenced by finalize(), init(), and step().


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

Generated on Thu Apr 9 14:33:21 2009 for mixpp by  doxygen 1.5.8