00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __itkVersion_h
00021 #define __itkVersion_h
00022
00023 #include "itkObject.h"
00024 #include "itkObjectFactory.h"
00025
00026 #define ITK_VERSION_TO_STRING(x) ITK_VERSION_TO_STRING0(x)
00027 #define ITK_VERSION_TO_STRING0(x) #x
00028 #define ITK_VERSION ITK_VERSION_TO_STRING(ITK_VERSION_MAJOR) "." \
00029 ITK_VERSION_TO_STRING(ITK_VERSION_MINOR) "." \
00030 ITK_VERSION_TO_STRING(ITK_VERSION_PATCH)
00031 #define ITK_SOURCE_VERSION "itk version " ITK_VERSION ", itk source $Revision: 1.2444 $, $Date: 2007/09/23 02:00:57 $ (GMT)"
00032
00033 namespace itk
00034 {
00047 class ITKCommon_EXPORT Version : public Object
00048 {
00049 public:
00051 typedef Version Self;
00052 typedef Object Superclass;
00053 typedef SmartPointer<Self> Pointer;
00054 typedef SmartPointer<const Self> ConstPointer;
00055
00057 itkNewMacro(Self);
00058
00060 itkTypeMacro(Version,Object);
00061
00065 static const char *GetITKVersion() { return ITK_VERSION; };
00066 static int GetITKMajorVersion() { return ITK_VERSION_MAJOR; };
00067 static int GetITKMinorVersion() { return ITK_VERSION_MINOR; };
00068 static int GetITKBuildVersion() { return ITK_VERSION_PATCH; };
00069 static const char *GetITKSourceVersion() { return ITK_SOURCE_VERSION; };
00071
00072 protected:
00073 Version();
00074 ~Version();
00075
00076 private:
00077 Version(const Self&);
00078 void operator=(const Self&);
00079
00080 };
00081
00082 }
00083
00084 #endif
00085