5 #ifndef BALL_FORMAT_CIFFILE_H
6 #define BALL_FORMAT_CIFFILE_H
8 #ifndef BALL_SYSTEM_FILE_H
12 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
16 #ifndef BALL_KERNEL_MOLECULE_H
22 #define CIFPARSER_LINE_LENGTH 2550
53 void addValue(
String value);
66 std::vector<std::vector<String> >
values;
69 std::pair<String, String>
entry;
82 void addDataItem(
Item item);
89 const Item& getDataItem(
const String& item_name)
const;
93 const String& getDataItemValue(
const String& item_name)
const;
99 bool hasItem (
const String& item_name)
const;
134 std::ostream&
operator >> (std::ostream& os)
const;
146 void start(
String blockname);
148 void insertDatacontent(
const Datacontent& content);
149 void insertDatacontent(
const SaveFrame& new_saveframe);
150 void insertDatacontent(
const Item& item);
152 const Item& getDataItem(
const String& item_name)
const;
157 const std::vector<Index> getSaveframeIndicesByCategory(
const String& name)
const;
158 std::vector<Index> getSaveframeIndicesByCategory(
const String& name);
160 std::vector<SaveFrame> getSaveframesByCategory(
const String& name)
const;
175 bool hasSaveframeName(
const String& name)
const;
176 bool hasSaveframeCategory(
const String& name)
const;
177 bool hasItem(
const String& name)
const;
180 void setName(
String blockname);
182 std::ostream&
operator >> (std::ostream& os)
const;
237 virtual bool write();
248 void inSafeframe(
const char* name);
250 void inItem(
const char* name);
252 void inDatablock(
const char* name);
254 void insertDatablock(
const Datablock& datablock);
262 bool hasDatablock(
const String& name)
const;
264 void setMolecule(
Molecule* molecule);
266 void clearParameters();
272 virtual void initRead_();
284 #endif // BALL_FORMAT_CIFFILE_H