]> Creatis software - clitk.git/blobdiff - common/clitkCommon.h
Return 0.0 if libstatgrab is not used
[clitk.git] / common / clitkCommon.h
index 4087259d07feb1c70aff82e97557398995890785..44f9940a16189ce6814ec76174db5282bacacc18 100644 (file)
@@ -20,8 +20,9 @@
 #define CLITKCOMMON_H
 
 // clitk include
-#include "clitkConfiguration.h"
 #include "clitkPortability.h"
+#include "clitkDD.h"
+#include "clitkExceptionObject.h"
 
 // itk include (include std)
 #include <itkContinuousIndex.h>
 #include <itkImageRegionConstIterator.h>
 #include <itkImageRegionIterator.h>
 
+// std include
+#include <fstream>
+
+// Include for "rusage"
+#include <ctime> 
+#if defined(unix) || defined(__APPLE__)
+#  include <sys/time.h>
+#  include <sys/resource.h>
+#elif defined(WIN32)
+#  include <windows.h>
+#endif
+
 //--------------------------------------------------------------------
 namespace clitk {
 
@@ -36,11 +49,6 @@ namespace clitk {
   typedef unsigned short ushort;
   typedef unsigned int uint;
 
-  //--------------------------------------------------------------------
-  // display 
-#define DD(a) std::cout << #a " = [ " << a << " ]" << std::endl;
-#define DDV(a,n) { std::cout << #a " = [ "; for(unsigned int _i_=0; _i_<n; _i_++) { std::cout << a[_i_] << " "; }; std::cout << " ]" << std::endl;}
-
   //--------------------------------------------------------------------
   // when everything goes wrong
 #define WHEREAMI "[ " << __FILE__  << " ] line " << __LINE__
@@ -73,6 +81,9 @@ namespace clitk {
   template<class T> std::string toStringVector(const T * t, const int n);
   template<class T> std::string toStringVector(const T & t, const int n);
   template<class T> std::string toStringVector(const std::vector<T> & t);
+  template <class T> bool fromString(T& t, 
+                                     const std::string& s, 
+                                     std::ios_base& (*f)(std::ios_base&)=std::dec);
 
   //--------------------------------------------------------------------
   // Display a progress %
@@ -195,6 +206,9 @@ namespace clitk {
   template<class ImageType>
   void CloneImage(const typename ImageType::Pointer & input, typename ImageType::Pointer & output);
 
+  //--------------------------------------------------------------------
+  void PrintMemoryUsed();
+
 #include "clitkCommon.txx"
 
 } // end namespace