librcsb-core-wrapper 1.005
CifDataInfo.h
Go to the documentation of this file.
1//$$FILE$$
2//$$VERSION$$
3//$$DATE$$
4//$$LICENSE$$
5
6
14#ifndef CIFDATAINFO_H
15#define CIFDATAINFO_H
16
17
18#include <string>
19#include <vector>
20
21#include <rcsb/DataInfo.h>
22#include <rcsb/DicFile.h>
23
24
25class CifDataInfo : public DataInfo
26{
27 public:
28 CifDataInfo(DicFile& dictFile);
30
31 void GetVersion(std::string& version);
32
33 const std::vector<std::string>& GetCatNames();
34
35 const std::vector<std::string>& GetItemsNames();
36
37 bool IsCatDefined(const std::string& catName) const;
38
39 bool IsItemDefined(const std::string& itemName);
40
41 const std::vector<std::string>& GetCatKeys(const std::string& catName);
42
43 const std::vector<std::string>& GetCatAttribute(const std::string& catName,
44 const std::string& refCatName, const std::string& refAttrName);
45
46 const std::vector<std::string>&
47 GetItemAttribute(const std::string& itemName,
48 const std::string& refCatName, const std::string& refAttrName);
49
50 virtual void GetCatItemsNames(std::vector<std::string>& itemsNames,
51 const std::string& catName);
52
53 protected:
55
56 private:
57 std::string _version;
58 std::vector<std::string> _catsNames;
59 std::vector<std::string> _itemsNames;
60 std::vector<std::string> _catKeyItems;
61 std::vector<std::string> _catAttrib;
62 std::vector<std::string> _itemAttrib;
63 std::vector<std::string> _itemTypeListAttrib;
64
65 void _GetDictVersion(std::string& dictVer);
66 bool _isDictCategory(const std::string& category) const;
67
68 const std::vector<std::string>&
69 GetItemAttributeForItemTypeListCat(const std::string& itemName,
70 const std::string& refCatName,
71 const std::string& refAttrName);
72};
73
74
75#endif
Header file for DicFile class.
Definition CifDataInfo.h:26
DicFile & _dictFile
Definition CifDataInfo.h:54
bool IsCatDefined(const std::string &catName) const
CifDataInfo(DicFile &dictFile)
const std::vector< std::string > & GetCatNames()
bool IsItemDefined(const std::string &itemName)
const std::vector< std::string > & GetItemAttribute(const std::string &itemName, const std::string &refCatName, const std::string &refAttrName)
void GetVersion(std::string &version)
virtual void GetCatItemsNames(std::vector< std::string > &itemsNames, const std::string &catName)
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 > & GetItemsNames()
Definition DataInfo.h:27
Public class that represents a dictionary file, composed of blocks with tables.
Definition DicFile.h:37