#ifndef INCLUDE_NAST_DUMPCONTEXT_H #define INCLUDE_NAST_DUMPCONTEXT_H //----------------------------------------------------------------------------- // NastDumpContext.h //----------------------------------------------------------------------------- // // Copyright (C) 1998 Technische Universitaet Muenchen, Germany // written by Bernhard Brueck // // This file is part of Nast++ // //----------------------------------------------------------------------------- // CNastDumpContext ist als abstrakte Basisklasse fuer die Ausgabe von // Debug und Statusinformationen gedacht // Fuer alle einfachen Datentypen existieren Ausgabefunktionen, die in // den abgeleiteten Klassen definert werden muessen. Fuer die Ausgabe // von Klassen, die von CNastObject abegekleitet wurden, muss in der // Funktion zur Ausgabe von CNastObject die debugDump(..) Funktion // des Objekts aufgerufen werden. // ( siehe z.B.NastDumpContextFile.h und NastDumpContextFile.cpp ) //----------------------------------------------------------------------------- // Aenderungen: // #include "NastObject.h" class CNastDumpContext : public CNastObject { public: //------------------------------------------------------------------------- // einfache Datentypen ausgeben //------------------------------------------------------------------------- virtual CNastDumpContext& operator<<( bool b ) = 0; virtual CNastDumpContext& operator<<( int n ) = 0; virtual CNastDumpContext& operator<<( long int n ) = 0; virtual CNastDumpContext& operator<<( float f ) = 0; virtual CNastDumpContext& operator<<( double f ) = 0; virtual CNastDumpContext& operator<<( long double f ) = 0; //------------------------------------------------------------------------- // CNastObjects ausgeben //------------------------------------------------------------------------- virtual CNastDumpContext& operator<<( const CNastObject *pObject) = 0; virtual CNastDumpContext& operator<<( const CNastObject &rObject) = 0; //------------------------------------------------------------------------- // strings ausgeben //------------------------------------------------------------------------- // Flush sollte alles so rausschreiben, dass auch bei einem Absturz // des Programms keine Daten verloren gehen virtual CNastDumpContext& operator<<( char ch) = 0; virtual CNastDumpContext& operator<<( const char *pch) = 0; virtual CNastDumpContext& operator<<( const unsigned char *pch) = 0; virtual void flush() = 0; }; #endif // INCLUDE_NAST_DUMPCONTEXT_H