librcsb-core-wrapper 1.005
CifFileReadDef.h
Go to the documentation of this file.
1//$$FILE$$
2//$$VERSION$$
3//$$DATE$$
4//$$LICENSE$$
5
13/*
14 PURPOSE: Definitions for selective parsing/reading cif file
15*/
16
17#ifndef CIFFILEREADDEF_H
18#define CIFFILEREADDEF_H
19
20#include <string>
21#include <vector>
22
23
24#include <iostream>
25#include <fstream>
26#include <stdio.h>
27#include <string.h>
28
29enum type {A, D}; //A-list of accepted categorys/datablocks; D-denied
30
31#define INVALID_NUM_CATS -1
32
39{
40 private:
41 int _numCatsToRead;
42 int _numReadCats;
43 void SetNumCatsToRead();
44 protected:
45 std::vector<std::string> _datablocklist;
46 std::vector<std::string> _categorylist;
49
50
51 public:
52 CifFileReadDef(std::vector<std::string> dblist,std::vector<std::string>clist,type dbtype = A, type ctype = A);
53 CifFileReadDef(){_numCatsToRead = INVALID_NUM_CATS; _numReadCats = 0;};
55
56 void SetDataBlockList(std::vector<std::string> dblist,type dbtype = A);
57 void SetCategoryList(std::vector<std::string>clist, type ctype = A);
58
59 void SetDataBlockListType(type dbtype = A) { _datablocklisttype=dbtype;};
61
64
65 int Category_OK(const std::string& categoryName);
66 int Datablock_OK(const std::string& datablockName);
67};
68#endif
type
Definition CifFileReadDef.h:29
@ A
Definition CifFileReadDef.h:29
@ D
Definition CifFileReadDef.h:29
#define INVALID_NUM_CATS
Definition CifFileReadDef.h:31
Private class that represents a CIF parser controller.
Definition CifFileReadDef.h:39
std::vector< std::string > _categorylist
Definition CifFileReadDef.h:46
void SetCategoryList(std::vector< std::string >clist, type ctype=A)
void SetDataBlockListType(type dbtype=A)
Definition CifFileReadDef.h:59
CifFileReadDef(std::vector< std::string > dblist, std::vector< std::string >clist, type dbtype=A, type ctype=A)
void SetDataBlockList(std::vector< std::string > dblist, type dbtype=A)
~CifFileReadDef()
Definition CifFileReadDef.h:54
int AreAllCatsRead()
std::vector< std::string > _datablocklist
Definition CifFileReadDef.h:45
CifFileReadDef()
Definition CifFileReadDef.h:53
void SetCategoryListType(type ctype=A)
Definition CifFileReadDef.h:60
int Category_OK(const std::string &categoryName)
void IncreaseNumReadCats()
type _datablocklisttype
Definition CifFileReadDef.h:47
type _categorylisttype
Definition CifFileReadDef.h:48
int Datablock_OK(const std::string &datablockName)