source: molecuilder/src/periodentafel.hpp@ e9f2e1

SingletonTicket62
Last change on this file since e9f2e1 was 069034, checked in by Frederik Heber <heber@…>, 16 years ago

class config, ConfigFileBuffer, periodentafel and Vector are refactored with respect to ticket #38, #4 and #39.

  • <type> * const ptr ... means the pointer itself is const (not its contents that he points at).
  • const <type> * ptr ... means the pointer's content is const.
  • "ofstream *out" ... can be changed to "ofstream * const out" (pointer is constant, not output).

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100755
File size: 1.4 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 * const pointer);
37 bool RemoveElement(element * const pointer);
38 bool CleanupPeriodtable();
39 element * const FindElement(const int Z) const;
40 element * const FindElement(const char * const shorthand) const;
41 element * const AskElement() const;
42 element * const EnterElement();
43 bool Output(ofstream * const output) const;
44 bool Checkout(ofstream * const output, const int * const checkliste) const;
45 bool LoadPeriodentafel(const char * const path);
46 bool StorePeriodentafel(const char * const path) const;
47
48 private:
49};
50
51
52#endif /*PERIODENTAFEL_HPP_*/
Note: See TracBrowser for help on using the repository browser.