source: molecuilder/src/periodentafel.hpp@ e72287

Last change on this file since e72287 was 17b3a5c, checked in by Frederik Heber <heber@…>, 16 years ago

forward declarations used to untangle interdependet classes.

  • basically, everywhere in header files we removed '#include' lines were only pointer to the respective classes were used and the include line was moved to the implementation file.
  • as a sidenote, lots of funny errors happened because headers were included via a nesting over three other includes. Now, all should be declared directly as needed, as only very little include lines remain in header files.
  • Property mode set to 100755
File size: 1.3 KB
Line 
1#ifndef PERIODENTAFEL_HPP_
2#define PERIODENTAFEL_HPP_
3
4using namespace std;
5
6/*********************************************** includes ***********************************/
7
8// include config.h
9#ifdef HAVE_CONFIG_H
10#include <config.h>
11#endif
12
13#include <iostream>
14
15#include "defs.hpp"
16
17/****************************************** forward declarations *****************************/
18
19class element;
20
21/********************************************** declarations *******************************/
22
23
24/** Periodentafel is a list of all elements sorted by their atomic number.
25 */
26class periodentafel {
27 public:
28 element *start; //!< start of element list
29 element *end; //!< end of element list
30 char header1[MAXSTRINGSIZE]; //!< store first header line
31 char header2[MAXSTRINGSIZE]; //!< store second header line
32
33 periodentafel();
34 ~periodentafel();
35
36 bool AddElement(element *pointer);
37 bool RemoveElement(element *pointer);
38 bool CleanupPeriodtable();
39 element * FindElement(int Z);
40 element * FindElement(const char *shorthand) const;
41 element * AskElement();
42 bool Output(ofstream *output) const;
43 bool Checkout(ofstream *output, const int *checkliste) const;
44 bool LoadPeriodentafel(const char *path);
45 bool StorePeriodentafel(const char *path) const;
46
47 private:
48};
49
50
51#endif /*PERIODENTAFEL_HPP_*/
Note: See TracBrowser for help on using the repository browser.