mat::FileWritable Class Reference

Write and read objects to/from file. More...

#include <FileWritable.h>

Inheritance diagram for mat::FileWritable:

mat::MatrixBase< Treal, Tmatrix > mat::VectorGeneral< Treal, Tvector > mat::MatrixGeneral< Treal, Tmatrix > mat::MatrixSymmetric< Treal, Tmatrix > mat::MatrixTriangular< Treal, Tmatrix > List of all members.

Public Member Functions

void writeToFile ()
 Write object to file if filewrite is active.
void readFromFile ()
 Read object from file if filewrite is active.
bool isOnFile ()
 Check if object is on file.
long int fileSize ()
 Return file size.

Static Public Member Functions

static void setPath (char const *const newPath)
 Set the path to which the objects will be written.
static void activate ()
 Activate the filewriting.
static std::string getStatsFileSizes ()
static std::string writeAndReadAll ()
static void resetStats ()
static std::string getStatsTimeWrite ()
static std::string getStatsTimeRead ()
static std::string getStatsTimeCopyAndAssign ()
static std::string getStatsCountWrite ()
static std::string getStatsCountRead ()
static std::string getStatsCountCopyAndAssign ()

Protected Types

typedef std::map< std::string,
double > 
TypeTimeMap
typedef std::map< std::string,
int > 
TypeCountMap
typedef std::set< FileWritable * > ObjPtrSet

Protected Member Functions

virtual void clear ()=0
 Release memory for the information written to file.
virtual void inMemorySet (bool)=0
 Make object invalid (false) via this function when object is written to file and valid (true) when object is read from file.
virtual void writeToFileProt (std::ofstream &) const =0
 Write object to file.
virtual void readFromFileProt (std::ifstream &)=0
 Read object from file.
 FileWritable ()
 Gives each object a unique ID-number and filename.
virtual ~FileWritable ()
 Removes file, if any.
 FileWritable (FileWritable const &)
FileWritableoperator= (FileWritable const &)
virtual std::string obj_type_id () const =0

Static Protected Member Functions

static std::string getStatsTime (TypeTimeMap &theMap)
static std::string getStatsCount (TypeCountMap &theMap)
static std::string getStatsFileSizes (ObjPtrSet const &set)

Private Attributes

unsigned int const IDNumber
 Each object has its unique ID-number.
char * fileName
 Each object has its unique filename.
bool objectIsOnFile
 States whether the object is on file or not.

Static Private Attributes

static unsigned int nObjects = 0
 The number of instantiated objects.
static char * path = NULL
 The path to which files will be written.
static bool active = false
 States whether the filewriting is active.

Classes

struct  Manager
struct  Stats

Detailed Description

Write and read objects to/from file.

This is an abstract class. Classes that are derived from this class must define the following pure virtual functions to be able to instantiate objects:


Member Typedef Documentation

typedef std::set<FileWritable*> mat::FileWritable::ObjPtrSet [protected]

typedef std::map<std::string, int> mat::FileWritable::TypeCountMap [protected]

typedef std::map<std::string, double> mat::FileWritable::TypeTimeMap [protected]


Constructor & Destructor Documentation

mat::FileWritable::FileWritable (  )  [protected]

Gives each object a unique ID-number and filename.

mat::FileWritable::~FileWritable (  )  [protected, virtual]

Removes file, if any.

mat::FileWritable::FileWritable ( FileWritable const &   )  [protected]


Member Function Documentation

void mat::FileWritable::activate (  )  [static]

Activate the filewriting.

Without calling this function no filewriting will occur. This function can only be called before instantiation of objects.

virtual void mat::FileWritable::clear (  )  [protected, pure virtual]

Release memory for the information written to file.

Implemented in mat::MatrixBase< Treal, Tmatrix >, and mat::VectorGeneral< Treal, Tvector >.

long int mat::FileWritable::fileSize (  ) 

Return file size.

Call only if obj is on file.

std::string mat::FileWritable::getStatsCount ( TypeCountMap theMap  )  [static, protected]

std::string mat::FileWritable::getStatsCountCopyAndAssign (  )  [static]

std::string mat::FileWritable::getStatsCountRead (  )  [static]

std::string mat::FileWritable::getStatsCountWrite (  )  [static]

std::string mat::FileWritable::getStatsFileSizes ( ObjPtrSet const &  set  )  [static, protected]

std::string mat::FileWritable::getStatsFileSizes (  )  [static]

std::string mat::FileWritable::getStatsTime ( TypeTimeMap theMap  )  [static, protected]

std::string mat::FileWritable::getStatsTimeCopyAndAssign (  )  [static]

std::string mat::FileWritable::getStatsTimeRead (  )  [static]

std::string mat::FileWritable::getStatsTimeWrite (  )  [static]

virtual void mat::FileWritable::inMemorySet ( bool   )  [protected, pure virtual]

Make object invalid (false) via this function when object is written to file and valid (true) when object is read from file.

Implemented in mat::MatrixBase< Treal, Tmatrix >, and mat::VectorGeneral< Treal, Tvector >.

bool mat::FileWritable::isOnFile (  )  [inline]

Check if object is on file.

virtual std::string mat::FileWritable::obj_type_id (  )  const [protected, pure virtual]

Implemented in mat::MatrixBase< Treal, Tmatrix >, mat::MatrixGeneral< Treal, Tmatrix >, mat::MatrixSymmetric< Treal, Tmatrix >, mat::MatrixTriangular< Treal, Tmatrix >, and mat::VectorGeneral< Treal, Tvector >.

FileWritable & mat::FileWritable::operator= ( FileWritable const &   )  [protected]

void mat::FileWritable::readFromFile (  ) 

Read object from file if filewrite is active.

virtual void mat::FileWritable::readFromFileProt ( std::ifstream &   )  [protected, pure virtual]

Read object from file.

Defined in derived class.

Implemented in mat::MatrixGeneral< Treal, Tmatrix >, mat::MatrixSymmetric< Treal, Tmatrix >, mat::MatrixTriangular< Treal, Tmatrix >, and mat::VectorGeneral< Treal, Tvector >.

void mat::FileWritable::resetStats (  )  [static]

void mat::FileWritable::setPath ( char const *const   newPath  )  [static]

Set the path to which the objects will be written.

This function can only be called before instantiation of objects.

std::string mat::FileWritable::writeAndReadAll (  )  [static]

void mat::FileWritable::writeToFile (  ) 

Write object to file if filewrite is active.

Object is "cleared" in this call.

virtual void mat::FileWritable::writeToFileProt ( std::ofstream &   )  const [protected, pure virtual]

Write object to file.

Defined in derived class.

Implemented in mat::MatrixGeneral< Treal, Tmatrix >, mat::MatrixSymmetric< Treal, Tmatrix >, mat::MatrixTriangular< Treal, Tmatrix >, and mat::VectorGeneral< Treal, Tvector >.


Member Data Documentation

bool mat::FileWritable::active = false [static, private]

States whether the filewriting is active.

char* mat::FileWritable::fileName [private]

Each object has its unique filename.

unsigned int const mat::FileWritable::IDNumber [private]

Each object has its unique ID-number.

unsigned int mat::FileWritable::nObjects = 0 [static, private]

The number of instantiated objects.

Note that the objects may be of different types derived from this base class.

bool mat::FileWritable::objectIsOnFile [private]

States whether the object is on file or not.

char * mat::FileWritable::path = NULL [static, private]

The path to which files will be written.


The documentation for this class was generated from the following files:
Generated on Wed Nov 21 09:32:41 2012 for ergo by  doxygen 1.4.7