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
std::vector< Datacontent > data
SaveFrame dummy_saveframe_
String current_saveframe_
std::istream & operator>>(std::istream &is, TRegularData1D< ValueType > &grid)
Input operator.
StringHashMap< Index > datablocks_hash_
StringHashMap< Index > pair_items
vector< Datablock > datablocks_
std::vector< std::vector< String > > values
std::ios::openmode OpenMode
StringHashMap< Index > saveframe_names
vector< Index > dummy_indices_
void setCategory(String cat)
std::vector< Item > items
StringHashMap< Index > item_names
std::vector< String > keys
String current_datablock_
std::pair< String, String > entry
vector< SaveFrame > dummy_saveframes_
const String & getCategory() const
std::multimap< String, Index > saveframe_categories