00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef _exotkTrace_OStream_HeaderFile
00029 #define _exotkTrace_OStream_HeaderFile
00030
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034
00035 #ifndef _exotkTrace_Root_HeaderFile
00036 #include <exotkTrace_Root.hxx>
00037 #endif
00038 #ifndef _Handle_exotkTrace_OStream_HeaderFile
00039 #include <Handle_exotkTrace_OStream.hxx>
00040 #endif
00041
00047 class exotkTrace_OStream : public exotkTrace_Root
00048 {
00049 public:
00050
00058 inline void* operator new(size_t,void* anAddress)
00059 {
00060 return anAddress;
00061 }
00062
00069 inline void* operator new(size_t size)
00070 {
00071 return Standard::Allocate(size);
00072 }
00073
00080 inline void operator delete(void *anAddress)
00081 {
00082 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00083 }
00084
00089 Standard_EXPORT exotkTrace_OStream();
00090
00095 Standard_EXPORT virtual ~exotkTrace_OStream();
00096
00102 Standard_EXPORT void SetOStream(Standard_OStream& aStream);
00103
00109 Standard_EXPORT virtual Standard_Boolean IsValid();
00110 DEFINE_STANDARD_RTTI(exotkTrace_MultipleRoot)
00111 protected:
00112
00119 Standard_EXPORT virtual void Print(const enum exotkTrace_Level aLevel,const Standard_CString aString);
00120
00121 private:
00123 Standard_OStream* myOStream;
00124 };
00125
00126 #endif