BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
genericMolFile.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_FORMAT_GENERICMOLFILE_H
6 #define BALL_FORMAT_GENERICMOLFILE_H
7 
8 #ifndef BALL_FORMAT_LINEBASEDFILE_H
10 #endif
11 
12 namespace BALL
13 {
14  class Atom;
15  class System;
16  class Molecule;
17 
57  : public LineBasedFile
58  {
59  public:
60 
64 
68 
72  GenericMolFile(const String& filename, File::OpenMode open_mode = std::ios::in);
73 
76  virtual ~GenericMolFile();
77 
79 
82 
87  const GenericMolFile& operator = (const GenericMolFile& rhs);
88 
90 
93 
103  virtual bool write(const System& system);
104 
111  virtual bool write(const Molecule& molecule);
112 
122  virtual bool read(System& system);
123 
134  virtual Molecule* read();
135 
137 
140 
145  virtual GenericMolFile& operator >> (System& system);
146 
151  virtual GenericMolFile& operator << (const System& system);
152 
157  virtual GenericMolFile& operator >> (Molecule& molecule);
158 
163  virtual GenericMolFile& operator << (const Molecule& molecule);
165 
166  protected:
174  virtual void initRead_();
175 
180  virtual void initWrite_();
181 
182  };
183 } // namespace BALL
184 
185 #endif // BALL_FORMAT_GENERICMOLFILE_H