librcsb-core-wrapper  1.000
DictObjFile.h
Go to the documentation of this file.
1 /*$$FILE$$*/
2 /*$$VERSION$$*/
3 /*$$DATE$$*/
4 /*$$LICENSE$$*/
5 
6 
14 #ifndef DICTOBJFILE_H
15 #define DICTOBJFILE_H
16 
17 
18 #include <rcsb/mapped_ptr_vector.h>
19 #include <rcsb/mapped_ptr_vector.C>
20 
21 #include <rcsb/DictObjCont.h>
22 
23 #include <rcsb/DicFile.h>
24 
25 
41 {
42  public:
43 
75  DictObjFile(const string& persStorFileName, const eFileMode fileMode =
76  READ_MODE, const bool verbose = false, const string& dictSdbFileName =
77  std::string());
78 
93  ~DictObjFile();
94 
111  void Build();
112 
127  void Write();
128 
143  void Read();
144 
158  unsigned int GetNumDictionaries();
159 
174  void GetDictionaryNames(vector<string>& dictNames);
175 
190  DictObjCont& GetDictObjCont(const string& dictName);
191 
205  void Print();
206 
207  private:
208  eFileMode _fileMode;
209  bool _verbose;
210 
211  string _dictSdbFileName;
212 
213  DicFile* _dicFileP;
214  Serializer& _ser;
215 
216  mapped_ptr_vector<DictObjCont> _dictionaries;
217 
218  DictObjCont* _currDictObjContP;
219 };
220 
221 
222 #endif // DICTOBJFILE_H
223