53 #ifndef FileDatastore_h 54 #define FileDatastore_h 67 #include <utility/database/FE_Datastore.h> 77 #define STREAM_POSITION_TYPE int 80 class FEM_ObjectBroker;
100 std::shared_ptr<fstream> theFile;
101 STREAM_POSITION_TYPE fileEnd;
104 : theFile(
nullptr), fileEnd(0), maxDbTag(0) {}
106 : theFile(fs), fileEnd(fEnd), maxDbTag(mx) {}
107 fstream *getFStream(
void)
108 {
return theFile.get(); }
109 int openFile(
const std::string &,
int ,
IntData &, std::vector<char> &);
110 void resetFilePointers(
IntData &,
const std::vector<char> &);
113 typedef map<int, FileDatastoreOutputFile> FilesMap;
114 typedef FilesMap::value_type FilesMap_type;
115 typedef FilesMap::iterator FilesMap_iterator;
146 int resizeInt(
int newSize);
147 int resizeDouble(
int newSize);
148 void resetFilePointers(
void);
152 FilesMap theVectFiles;
153 FilesMap theMatFiles;
154 FilesMap_iterator theIDFilesIter;
155 FilesMap_iterator theVectFilesIter;
156 FilesMap_iterator theMatFilesIter;
158 int lastDomainChangeStamp;
159 int currentCommitTag;
160 std::vector<char> charPtrData;
166 int currentMaxDouble;
168 void alloc(
const size_t &sz);
169 std::string getFileName(
const std::string &,
int idSize,
int commitTag)
const;
170 FileDatastoreOutputFile *getFileStruct(FilesMap &,
const std::string &,
int objSize,
int stepSize,
int commitTag);
176 std::string getTypeId(
void)
const 189 int sendID(
int dbTag,
int commitTag,
const ID &,
ChannelAddress *theAddress=
nullptr);
190 int recvID(
int dbTag,
int commitTag,
ID &,
ChannelAddress *theAddress=
nullptr);
192 int createTable(
const std::string &tableName,
const std::vector<std::string> &columns);
193 int insertData(
const std::string &tableName,
const std::vector<std::string> &columns,
int commitTag,
const Vector &);
194 int getData(
const std::string &tableName,
const std::vector<std::string> &columns,
int commitTag,
Vector &);
197 int commitState(
int commitTag);
Float vector abstraction.
Definition: Vector.h:94
Base class for objects that store/restore model information.
Definition: FE_Datastore.h:84
Finite element model generation tools.
Definition: Preprocessor.h:59
Output file stream wrapper.
Definition: FileDatastore.h:98
Integer array wrapper.
Definition: FileDatastore.h:83
FEM_ObjectBroker is is an object broker class for the finite element method.
Definition: FEM_ObjectBroker.h:151
Vector of integers.
Definition: ID.h:95
Message between processes.
Definition: Message.h:77
used in the program to store/restore the geometry and state information in the domain at particular i...
Definition: FileDatastore.h:142
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Base class for classes that encapsulate channel addresses.
Definition: ChannelAddress.h:78
Matrix of floats.
Definition: Matrix.h:111
Double array wrapper.
Definition: FileDatastore.h:91