Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxTracedObject.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Edo Poll                (poll@wins.uva.nl)
00007  */
00008 
00009 #ifndef HxTracedObject_h
00010 #define HxTracedObject_h
00011 
00012 #define TRACED_OBJECT
00013 
00014 #ifndef TRACED_OBJECT
00015 #define TRACED_OBJECT : public HxTracedObject
00016 #endif
00017 
00018 #include <vector>
00019 
00020 #include "HxString.h"
00021 #include "HxIoFwd.h"
00022 
00023 class L_HXBASIS HxTracedObject
00024 {
00025 public:
00026                             HxTracedObject();
00027     virtual                 ~HxTracedObject();
00028 
00029     void                    traceUpdate();
00030     STD_OSTREAM&            tracePut(STD_OSTREAM&) const;
00031 
00032     static void             traceUpdateAll();
00033     static STD_OSTREAM&     tracePutAll(STD_OSTREAM&);
00034 
00035 private:
00036     typedef std::vector<HxTracedObject*>    TracedObjectList;
00037 
00038     HxString                _typeName;
00039 
00040 #pragma warning(disable: 4251)
00041     static TracedObjectList&       _theList();
00042 #pragma warning(default: 4251)
00043 };
00044 
00045 #endif

Generated on Tue Feb 3 14:18:42 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001