/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 00002 // ************************************************************************** 00003 // * * 00004 // * ! ! ! A T T E N T I O N ! ! ! * 00005 // * * 00006 // * This file was created automatically by GaudiObjDesc, please do not * 00007 // * delete it or edit it by hand. * 00008 // * * 00009 // * If you want to change this file, first change the corresponding * 00010 // * xml-file and rerun the tools from GaudiObjDesc (or run make if you * 00011 // * are using it from inside a Gaudi-package). * 00012 // * * 00013 // ************************************************************************** 00014 00015 #ifndef BaseEvent_ITemporal_H 00016 #define BaseEvent_ITemporal_H 1 00017 00018 // Include files 00019 #include "Context/TimeStamp.h" 00020 #include "GaudiKernel/boost_allocator.h" 00021 #include <ostream> 00022 00023 // Forward declarations 00024 00025 namespace DayaBay 00026 { 00027 00028 // Forward declarations 00029 00039 class ITemporal 00040 { 00041 public: 00042 00044 ITemporal() {} 00045 00047 virtual ~ITemporal() {} 00048 00050 virtual std::ostream& fillStream(std::ostream& s) const; 00051 00053 virtual const TimeStamp& earliest() const = 0; 00054 00056 virtual const TimeStamp& latest() const = 0; 00057 00059 virtual void setEarliest(const TimeStamp& ts) = 0; 00060 00062 virtual void setLatest(const TimeStamp& ts) = 0; 00063 00064 00065 #ifndef GOD_NOALLOC 00066 00067 static void* operator new ( size_t size ) 00068 { 00069 return ( sizeof(ITemporal) == size ? 00070 boost::singleton_pool<ITemporal, sizeof(ITemporal)>::malloc() : 00071 ::operator new(size) ); 00072 } 00073 00077 static void* operator new ( size_t size, void* pObj ) 00078 { 00079 return ::operator new (size,pObj); 00080 } 00081 00083 static void operator delete ( void* p ) 00084 { 00085 boost::singleton_pool<ITemporal, sizeof(ITemporal)>::is_from(p) ? 00086 boost::singleton_pool<ITemporal, sizeof(ITemporal)>::free(p) : 00087 ::operator delete(p); 00088 } 00089 00092 static void operator delete ( void* p, void* pObj ) 00093 { 00094 ::operator delete (p, pObj); 00095 } 00096 #endif 00097 protected: 00098 00099 private: 00100 00101 }; // class ITemporal 00102 00103 inline std::ostream& operator<< (std::ostream& str, const ITemporal& obj) 00104 { 00105 return obj.fillStream(str); 00106 } 00107 00108 } // namespace DayaBay; 00109 00110 // ----------------------------------------------------------------------------- 00111 // end of class 00112 // ----------------------------------------------------------------------------- 00113 00114 // Including forward declarations 00115 00116 inline std::ostream& DayaBay::ITemporal::fillStream(std::ostream& s) const 00117 { 00118 return s; 00119 } 00120 00121 00122 00123 #endif ///BaseEvent_ITemporal_H