#ifndef PERIODENTAFEL_HPP_ #define PERIODENTAFEL_HPP_ using namespace std; /*********************************************** includes ***********************************/ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include "defs.hpp" /****************************************** forward declarations *****************************/ class element; /********************************************** declarations *******************************/ /** Periodentafel is a list of all elements sorted by their atomic number. */ class periodentafel { public: element *start; //!< start of element list element *end; //!< end of element list char header1[MAXSTRINGSIZE]; //!< store first header line char header2[MAXSTRINGSIZE]; //!< store second header line periodentafel(); ~periodentafel(); bool AddElement(element * const pointer); bool RemoveElement(element * const pointer); bool CleanupPeriodtable(); element * const FindElement(const int Z) const; element * const FindElement(const char * const shorthand) const; element * const AskElement() const; element * const EnterElement(); bool Output(ofstream * const output) const; bool Checkout(ofstream * const output, const int * const checkliste) const; bool LoadPeriodentafel(const char * const path); bool StorePeriodentafel(const char * const path) const; private: }; #endif /*PERIODENTAFEL_HPP_*/