Orfeo Toolbox  4.0
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
itk::TimeStamp Class Reference

Generate a unique, increasing time value. More...

#include <itkTimeStamp.h>

Public Types

typedef TimeStamp Self
 

Public Member Functions

 TimeStamp ()
 
void Delete ()
 
ModifiedTimeType GetMTime () const
 
void Modified ()
 
 operator ModifiedTimeType () const
 
bool operator< (TimeStamp &ts)
 
const Selfoperator= (const Self &other)
 
bool operator> (TimeStamp &ts)
 

Static Public Member Functions

static const char * GetNameOfClass ()
 
static SelfNew ()
 

Private Attributes

ModifiedTimeType m_ModifiedTime
 

Detailed Description

Generate a unique, increasing time value.

TimeStamp records a unique time when the method Modified() is executed. This time is guaranteed to be monotonically increasing. Classes use this object to record modified and/or execution time. There is built in support for the binary < and > comparison operators between two TimeStamp objects.

Warning
On most platforms, this class uses a lock-free incremental counter. The Modified function can safely be called simultaneously by multiple threads on different instances of the class. However, calling the Modified function by different threads on the same instance of the class can lead to some unexpected behavior. The global counter will always be correct but the local m_ModifiedTime might not (see http://www.itk.org/mailman/private/insight-developers/2009-February/011732.html for more detail).

Definition at line 58 of file itkTimeStamp.h.

Member Typedef Documentation

Standard class typedefs.

Definition at line 62 of file itkTimeStamp.h.

Constructor & Destructor Documentation

itk::TimeStamp::TimeStamp ( )
inline

Constructor must remain public because classes instantiate TimeStamps implicitly in their construction.

Definition at line 70 of file itkTimeStamp.h.

Member Function Documentation

void itk::TimeStamp::Delete ( )
inline

Destoy this instance.

Definition at line 74 of file itkTimeStamp.h.

ModifiedTimeType itk::TimeStamp::GetMTime ( void  ) const
inline
static const char* itk::TimeStamp::GetNameOfClass ( )
inlinestatic

The class name as a string.

Definition at line 78 of file itkTimeStamp.h.

void itk::TimeStamp::Modified ( void  )

Set this objects time to the current time. The current time is just a monotonically increasing unsigned long integer. It is possible for this number to wrap around back to zero. This should only happen for processes that have been running for a very long time, while constantly changing objects within the program. When this does occur, the typical consequence should be that some filters will update themselves when really they don't need to.

Make sure the new time stamp is greater than all others so far.

Initialize static member

Used for mutex locking

Definition at line 82 of file itkTimeStamp.cxx.

References itk::int32_t, itk::int64_t, itk::SimpleFastMutexLock::Lock(), and itk::SimpleFastMutexLock::Unlock().

Referenced by itk::MatrixOffsetTransformBase< TScalar, 3, 3 >::SetMatrix(), itk::MatrixOffsetTransformBase< TScalar, 3, 3 >::SetVarInverseMatrix(), and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >::SetVarMatrix().

TimeStamp * itk::TimeStamp::New ( void  )
static

Create an instance of this class. We don't want to use reference counting.

Instance creation.

Definition at line 62 of file itkTimeStamp.cxx.

itk::TimeStamp::operator ModifiedTimeType ( ) const
inline

Allow for typcasting to unsigned long.

Definition at line 101 of file itkTimeStamp.h.

bool itk::TimeStamp::operator< ( TimeStamp ts)
inline

Definition at line 97 of file itkTimeStamp.h.

References m_ModifiedTime.

const TimeStamp & itk::TimeStamp::operator= ( const Self other)

Assignment operator, allows to initialize one time stamp by copying from another.

Make this timestamp to be the same as another one.

Definition at line 71 of file itkTimeStamp.cxx.

References m_ModifiedTime.

bool itk::TimeStamp::operator> ( TimeStamp ts)
inline

Support comparisons of time stamp objects directly.

Definition at line 95 of file itkTimeStamp.h.

References m_ModifiedTime.

Member Data Documentation

ModifiedTimeType itk::TimeStamp::m_ModifiedTime
private

Definition at line 109 of file itkTimeStamp.h.

Referenced by operator<(), operator=(), and operator>().


The documentation for this class was generated from the following files:

Generated at Sat Mar 8 2014 17:53:57 for Orfeo Toolbox with doxygen 1.8.3.1