00001
00002
00003
00004
00005
00006
00014 #ifndef DDLFILE_H
00015 #define DDLFILE_H
00016
00017
00018 #include <string>
00019 #include <iostream>
00020
00021 #include "GenString.h"
00022 #include "ISTable.h"
00023 #include "CifFile.h"
00024
00025
00036 class DdlFile : public CifFile
00037 {
00038 public:
00039 using CifFile::Write;
00040
00072 DdlFile(const eFileMode fileMode, const string& fileName,
00073 const bool verbose = false, const StringCompare::eCompareType
00074 caseSense = StringCompare::eCASE_SENSITIVE,
00075 const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
00076 const string& nullValue = CifString::NullValue);
00077
00103 DdlFile(const bool verbose = false, const StringCompare::eCompareType
00104 caseSense = StringCompare::eCASE_SENSITIVE,
00105 const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
00106 const string& nullValue = CifString::NullValue);
00107
00121 ~DdlFile();
00122
00127 ISTable* GetFormatTable();
00128
00133 int WriteFormatted(const string& cifFileName, ISTable* formatP = NULL);
00134
00139 int WriteFormatted(const string& cifFileName, TableFile* ddl,
00140 ISTable* formatP = NULL);
00141
00146 void Compress(DdlFile* ddl);
00147
00148 protected:
00149 ISTable* _formatP;
00150
00151 int WriteFormatted(ostream& cifo, ISTable* formatP);
00152 int WriteFormatted(ostream& cifo, TableFile* ddl, ISTable* formatP);
00153 };
00154
00155 #endif