CifDataInfo.h
Go to the documentation of this file.
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$
#ifndef CIFDATAINFO_H
#define CIFDATAINFO_H
#include <string>
#include <vector>
#include <rcsb/DataInfo.h>
#include <rcsb/DicFile.h>
class CifDataInfo : public DataInfo
{
public:
CifDataInfo(DicFile& dictFile);
~CifDataInfo();
void GetVersion(std::string& version);
const std::vector<std::string>& GetCatNames();
const std::vector<std::string>& GetItemsNames();
bool IsCatDefined(const std::string& catName) const;
bool IsItemDefined(const std::string& itemName);
const std::vector<std::string>& GetCatKeys(const std::string& catName);
const std::vector<std::string>& GetCatAttribute(const std::string& catName,
const std::string& refCatName, const std::string& refAttrName);
const std::vector<std::string>&
GetItemAttribute(const std::string& itemName,
const std::string& refCatName, const std::string& refAttrName);
virtual void GetCatItemsNames(std::vector<std::string>& itemsNames,
const std::string& catName);
protected:
DicFile& _dictFile;
private:
std::string _version;
std::vector<std::string> _catsNames;
std::vector<std::string> _itemsNames;
std::vector<std::string> _catKeyItems;
std::vector<std::string> _catAttrib;
std::vector<std::string> _itemAttrib;
std::vector<std::string> _itemTypeListAttrib;
void _GetDictVersion(std::string& dictVer);
bool _isDictCategory(const std::string& category) const;
const std::vector<std::string>&
GetItemAttributeForItemTypeListCat(const std::string& itemName,
const std::string& refCatName,
const std::string& refAttrName);
};
#endif
CifDataInfo::GetVersion
void GetVersion(std::string &version)
CifDataInfo::GetCatAttribute
const std::vector< std::string > & GetCatAttribute(const std::string &catName, const std::string &refCatName, const std::string &refAttrName)
CifDataInfo::_dictFile
DicFile & _dictFile
Definition: CifDataInfo.h:54
CifDataInfo::GetCatItemsNames
virtual void GetCatItemsNames(std::vector< std::string > &itemsNames, const std::string &catName)
DataInfo
Definition: DataInfo.h:26
DicFile.h
Header file for DicFile class.
CifDataInfo::GetItemAttribute
const std::vector< std::string > & GetItemAttribute(const std::string &itemName, const std::string &refCatName, const std::string &refAttrName)
CifDataInfo::CifDataInfo
CifDataInfo(DicFile &dictFile)
CifDataInfo::IsItemDefined
bool IsItemDefined(const std::string &itemName)
CifDataInfo
Definition: CifDataInfo.h:25
CifDataInfo::IsCatDefined
bool IsCatDefined(const std::string &catName) const
CifDataInfo::GetItemsNames
const std::vector< std::string > & GetItemsNames()
CifDataInfo::GetCatKeys
const std::vector< std::string > & GetCatKeys(const std::string &catName)
CifDataInfo::GetCatNames
const std::vector< std::string > & GetCatNames()
DataInfo.h
CifDataInfo::~CifDataInfo
~CifDataInfo()
DicFile
Public class that represents a dictionary file, composed of blocks with tables.
Definition: DicFile.h:36