41 #ifndef MAT_FILEWRITABLE
42 #define MAT_FILEWRITABLE
61 static void setPath(
char const *
const newPath);
Write and read objects to/from file.
Definition: FileWritable.h:56
static std::string getStatsCountCopyAndAssign()
Definition: FileWritable.cc:367
virtual void inMemorySet(bool)=0
Make object invalid (false) via this function when object is written to file and valid (true) when ob...
void copyToFile(const char *destFileName)
Definition: FileWritable.cc:230
static std::string getStatsTimeRead()
Definition: FileWritable.cc:355
char * fileName
Each object has its unique filename.
Definition: FileWritable.h:181
FileWritable & operator=(FileWritable const &)
Definition: FileWritable.cc:478
bool objectIsOnFile
States whether the object is on file or not.
Definition: FileWritable.h:182
virtual ~FileWritable()
Removes file, if any.
Definition: FileWritable.cc:393
virtual void clear()=0
Release memory for the information written to file.
void readFromFile()
Read object from file if filewrite is active.
Definition: FileWritable.cc:112
std::map< std::string, double > TypeTimeMap
Definition: FileWritable.h:132
static void resetStats()
Definition: FileWritable.cc:308
static std::string getStatsTimeCopyAndAssign()
Definition: FileWritable.cc:358
static std::string getStatsCountRead()
Definition: FileWritable.cc:364
virtual void writeToFileProt(std::ofstream &) const =0
Write object to file.
static void activate()
Activate the filewriting.
Definition: FileWritable.cc:71
std::set< FileWritable * > ObjPtrSet
Definition: FileWritable.h:154
static void setPath(char const *const newPath)
Set the path to which the objects will be written.
Definition: FileWritable.cc:59
static bool active
States whether the filewriting is active.
Definition: FileWritable.h:179
long int fileSize()
Return file size.
Definition: FileWritable.cc:292
static std::string getStatsTime(TypeTimeMap &theMap)
Definition: FileWritable.cc:316
unsigned int const IDNumber
Each object has its unique ID-number.
Definition: FileWritable.h:180
static std::string getStatsTimeWrite()
Definition: FileWritable.cc:352
virtual void readFromFileProt(std::ifstream &)=0
Read object from file.
static std::string getStatsCountWrite()
Definition: FileWritable.cc:361
static char * path
The path to which files will be written.
Definition: FileWritable.h:178
FileWritable()
Gives each object a unique ID-number and filename.
Definition: FileWritable.cc:371
void copyFromFile(const char *sourceFileName)
Definition: FileWritable.cc:165
std::map< std::string, int > TypeCountMap
Definition: FileWritable.h:133
static unsigned int nObjects
The number of instantiated objects.
Definition: FileWritable.h:175
void writeToFile()
Write object to file if filewrite is active.
Definition: FileWritable.cc:78
static std::string writeAndReadAll()
Definition: FileWritable.cc:509
static std::string getStatsFileSizes()
Definition: FileWritable.cc:528
virtual std::string obj_type_id() const =0
static std::string getStatsCount(TypeCountMap &theMap)
Definition: FileWritable.cc:334
bool isOnFile()
Check if object is on file.
Definition: FileWritable.h:93
Definition: allocate.cc:39
Definition: FileWritable.h:156
ObjPtrSet obj_ptr_set
Definition: FileWritable.h:162
static void registerObj(FileWritable *objPtr)
Definition: FileWritable.cc:494
static void unRegisterObj(FileWritable *objPtr)
Definition: FileWritable.cc:502
static Manager & instance_prot()
Definition: FileWritable.h:165
static Manager const & instance()
Definition: FileWritable.h:157
Manager()
Definition: FileWritable.h:169
Definition: FileWritable.h:136
TypeCountMap countWrite
Definition: FileWritable.h:145
TypeTimeMap wallTimeCopyAndAssign
Definition: FileWritable.h:144
TypeTimeMap wallTimeWrite
Definition: FileWritable.h:142
TypeTimeMap wallTimeRead
Definition: FileWritable.h:143
Stats()
Definition: FileWritable.h:149
TypeCountMap countCopyAndAssign
Definition: FileWritable.h:147
static Stats & instance()
Definition: FileWritable.h:138
TypeCountMap countRead
Definition: FileWritable.h:146