DicFile.h
Go to the documentation of this file.
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$
#ifndef DICFILE_H
#define DICFILE_H
#include <string>
#include <iostream>
#include <rcsb/GenString.h>
#include <rcsb/ISTable.h>
#include <rcsb/CifFile.h>
class DicFile : public CifFile
{
public:
using CifFile::Write;
DicFile(const eFileMode fileMode, const std::string& objFileName,
const bool verbose = false, const Char::eCompareType
caseSense = Char::eCASE_SENSITIVE,
const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
const std::string& nullValue = CifString::UnknownValue);
DicFile(const bool verbose = false, const Char::eCompareType
caseSense = Char::eCASE_SENSITIVE,
const unsigned int maxLineLength = STD_CIF_LINE_LENGTH,
const std::string& nullValue = CifString::UnknownValue);
~DicFile();
void WriteItemAliases(const std::string& fileName);
ISTable* GetFormatTable();
int WriteFormatted(const std::string& cifFileName, ISTable* formatP = NULL);
int WriteFormatted(const std::string& cifFileName, TableFile* ddl,
ISTable* formatP = NULL);
void Compress(CifFile* ddl);
CifFile* GetRefFile();
protected:
ISTable* _formatP;
int WriteFormatted(std::ostream& cifo, ISTable* formatP);
int WriteFormatted(std::ostream& cifo, TableFile* ddl, ISTable* formatP);
void WriteItemAliases(std::ostream& cifo);
private:
void AddRefRow(ISTable& table, const char* first, const char* second,
const char* third);
};
#endif