librcsb-core-wrapper  1.000
DicFile.h
Go to the documentation of this file.
1 //$$FILE$$
2 //$$VERSION$$
3 //$$DATE$$
4 //$$LICENSE$$
5 
6 
14 #ifndef DICFILE_H
15 #define DICFILE_H
16 
17 
18 #include <string>
19 #include <iostream>
20 
21 #include <rcsb/GenString.h>
22 #include <rcsb/ISTable.h>
23 #include <rcsb/CifFile.h>
24 
25 
36 class DicFile : public CifFile
37 {
38  public:
39  using CifFile::Write;
40 
72  DicFile(const eFileMode fileMode, const std::string& objFileName,
73  const bool verbose = false, const Char::eCompareType
74  caseSense = Char::eCASE_SENSITIVE,
75  const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
76  const std::string& nullValue = CifString::UnknownValue);
77 
103  DicFile(const bool verbose = false, const Char::eCompareType
104  caseSense = Char::eCASE_SENSITIVE,
105  const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
106  const std::string& nullValue = CifString::UnknownValue);
107 
121  ~DicFile();
122 
137  void WriteItemAliases(const std::string& fileName);
138 
139 
145 
150  int WriteFormatted(const std::string& cifFileName, ISTable* formatP = NULL);
151 
156  int WriteFormatted(const std::string& cifFileName, TableFile* ddl,
157  ISTable* formatP = NULL);
158 
163  void Compress(CifFile* ddl);
164 
165  CifFile* GetRefFile();
166 
167  protected:
169 
170  int WriteFormatted(std::ostream& cifo, ISTable* formatP);
171  int WriteFormatted(std::ostream& cifo, TableFile* ddl, ISTable* formatP);
172 
173  void WriteItemAliases(std::ostream& cifo);
174 
175  private:
176  void AddRefRow(ISTable& table, const char* first, const char* second,
177  const char* third);
178 };
179 
180 #endif