00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkMemoryProbe_h
00018 #define __itkMemoryProbe_h
00019
00020 #include "itkConfigure.h"
00021 #include "itkResourceProbe.h"
00022 #include "itkMemoryUsageObserver.h"
00023
00024 namespace itk
00025 {
00026
00038 class ITKCommon_EXPORT MemoryProbe
00039 : public ResourceProbe<long, double>
00040 {
00041 public:
00042
00043 MemoryProbe();
00044 ~MemoryProbe();
00045
00047 typedef long MemoryLoadType;
00048
00050 typedef double MeanMemoryLoadType;
00051
00052 protected:
00053 virtual MemoryLoadType GetInstantValue(void)const;
00054
00055 private:
00056 mutable MemoryUsageObserver m_MemoryObserver;
00057 };
00058
00059
00060 }
00061
00062 #endif //__itkMemoryProbe_h
00063