00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freValidityTag.h,v $ 00007 Language: C++ 00008 00009 00010 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00011 Institute for Medical Biometry and Informatics, University of Heidelberg, 00012 Germany). All rights reserved. 00013 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00014 for details. 00015 00016 This software is distributed WITHOUT ANY WARRANTY; without even 00017 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00018 PURPOSE. See the above copyright notices for more information. 00019 00020 =========================================================================*/ 00021 #ifndef __freValidityTag_h 00022 #define __freValidityTag_h 00023 00024 #include "freExceptions.h" 00025 00026 #include "itkLightObject.h" 00027 00028 #include <time.h> 00029 00030 namespace FREE 00031 { 00032 00042 class ValidityTag : public itk::LightObject 00043 { 00044 public: 00045 typedef ValidityTag Self; 00046 typedef itk::LightObject Superclass; 00047 typedef itk::SmartPointer<Self> Pointer; 00048 typedef itk::SmartPointer<const Self> ConstPointer; 00049 00050 typedef clock_t TagType; 00051 00052 itkTypeMacro(ValidityTag, LightObject); 00053 itkNewMacro(ValidityTag); 00054 00058 static Pointer New(const ValidityTag& tag); 00063 static Pointer New(const TagType& tag); 00068 static Pointer NewNull(); 00069 00075 bool IsOutdated(const ValidityTag& referenceTag) const; 00076 bool IsOutdated(const ValidityTag* pReferenceTag) const; 00082 bool IsUpdated(const ValidityTag& referenceTag) const; 00083 bool IsUpdated(const ValidityTag* pReferenceTag) const; 00087 bool Equals(const ValidityTag& referenceTag) const; 00088 bool Equals(const ValidityTag* pReferenceTag) const; 00089 00091 void Actualize(); 00092 00094 void SetTag (const ValidityTag& tag); 00095 void SetTag (const ValidityTag* pTag); 00096 00098 void SetTimeStamp (const TagType& tag); 00100 const TagType& GetTimeStamp () const; 00101 00102 protected: 00103 ValidityTag(); 00104 00106 TagType m_Tag; 00107 }; 00108 00109 } //end of namespace FREE 00110 00111 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000