Orfeo Toolbox  3.16
itkResourceProbe.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkResourceProbe.h,v $
5  Language: C++
6  Date: $Date: 2008-10-26 15:20:21 $
7  Version: $Revision: 1.1 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkResourceProbe_h
18 #define __itkResourceProbe_h
19 
20 #include "itkConfigure.h"
21 #include "itkWin32Header.h"
22 #include <string>
23 
24 namespace itk
25 {
26 
38 template<class ValueType, class MeanType>
40 {
41 
42 public:
43 
45  typedef unsigned long CountType;
46 
47 public:
48 
50  ResourceProbe(const std::string & type, const std::string & unit);
51 
53  virtual ~ResourceProbe();
54 
56  std::string GetType(void)const;
57 
59  std::string GetUnit(void)const;
60 
62  void Start(void);
63 
65  void Stop(void);
66 
68  CountType GetNumberOfStarts(void) const;
69 
71  CountType GetNumberOfStops(void) const;
72 
75  virtual ValueType GetInstantValue(void)const = 0;
76 
79  ValueType GetTotal(void)const;
80 
84  MeanType GetMean(void) const;
85 
86 private:
87 
88  ValueType m_StartValue;
89  ValueType m_TotalValue;
90 
93 
94  std::string m_TypeString;
95  std::string m_UnitString;
96 };
97 
98 } // end namespace itk
99 
100 #ifndef ITK_MANUAL_INSTANTIATION
101 #include "itkResourceProbe.txx"
102 #endif
103 
104 #endif //__itkResourceProbe_h

Generated at Sun Feb 3 2013 00:03:25 for Orfeo Toolbox with doxygen 1.8.1.1