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
00057 DdlFile();
00058
00090 DdlFile(const eFileMode fileMode, const string& fileName,
00091 const bool verbose = false, const StringCompare::eCompareType
00092 caseSense = StringCompare::eCASE_SENSITIVE,
00093 const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
00094 const string& nullValue = CifString::NullValue);
00095
00109 ~DdlFile();
00110
00115 ISTable* GetFormatTable();
00116
00121 int WriteFormatted(const string& cifFileName, ISTable* formatP = NULL);
00122
00127 int WriteFormatted(const string& cifFileName, TableFile* ddl,
00128 ISTable* formatP = NULL);
00129
00134 void Compress(DdlFile* ddl);
00135
00136 protected:
00137 ISTable* _formatP;
00138
00139 int WriteFormatted(ostream& cifo, ISTable* formatP);
00140 int WriteFormatted(ostream& cifo, TableFile* ddl, ISTable* formatP);
00141 };
00142
00143 #endif