/** * OPR-Praktikum SS 2012 * Aufgabe 9 * @author Thomas Mahr */ #pragma once #include #include #define SICHERSTELLEN(exp) ( sicherstellen(exp, __FILE__, __LINE__) ) class Prueffolge { public: Prueffolge(); virtual ~Prueffolge(); void ausfuehren(); protected: typedef void (*Prueffunktion)(); struct Fehler { std::string dateiName; int zeile; Fehler(std::string dateiName, int zeile) : dateiName(dateiName), zeile(zeile) {} std::string beschreibung(); }; struct Prueffall { std::string bezeichnung; Prueffunktion funktion; Prueffall(std::string bezeichnung, Prueffunktion funktion) : bezeichnung(bezeichnung), funktion(funktion) {} }; void anmelden(std::string bezeichnung, Prueffunktion test); static void sicherstellen(bool b, std::string dateiName, int zeile); private: std::list prueffaelle; };