00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkTimeProbesCollectorBase_h
00018 #define __itkTimeProbesCollectorBase_h
00019
00020 #include "itkConfigure.h"
00021
00022 #ifdef ITK_USE_REVIEW
00023 #include "../Review/itkTimeProbesCollectorBase.h"
00024 #else
00025
00026 #include "itkMacro.h"
00027 #include "itkTimeProbe.h"
00028 #include <map>
00029 #include <string>
00030
00031 namespace itk
00032 {
00033
00044 class ITKCommon_EXPORT TimeProbesCollectorBase
00045 {
00046
00047 public:
00048
00049 typedef std::string IdType;
00050 typedef std::map<IdType,TimeProbe> MapType;
00051
00052 TimeProbesCollectorBase();
00053 virtual ~TimeProbesCollectorBase();
00054
00057 virtual void Start( const char * name );
00058
00060 virtual void Stop( const char * name );
00061
00063 virtual void Report( std::ostream & os = std::cout ) const;
00064
00066 virtual void Clear(void);
00067
00068 protected:
00069
00070 MapType m_Probes;
00071
00072
00073 };
00074
00075 }
00076
00077 #endif // ITK_USE_REVIEW
00078
00079 #endif // __itkTimeProbesCollectorBase_h
00080