ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
itk::RealTimeStamp Class Reference

#include <itkRealTimeStamp.h>

Detailed Description

The RealTimeStamp is a data structure for representing time with high precision and a large dynamic range.

This class represents time typically for applications that need to mark the time of acquisition of data with high precision (microseconds) and a large dynamic range (years).

By default, the real time stamp is initialized to the origin of the Unix epoch. That is the time 00:00:00 UTC on 1 January 1970 (or 1970-01-01T00:00:00Z ISO 8601)

See also
RealTimeInterval
RealTimeClock

Definition at line 45 of file itkRealTimeStamp.h.

+ Collaboration diagram for itk::RealTimeStamp:

Public Types

using Self = RealTimeStamp
 
using TimeRepresentationType = RealTimeInterval::TimeRepresentationType
 

Public Member Functions

 RealTimeStamp ()
 
 ~RealTimeStamp ()
 
TimeRepresentationType GetTimeInMicroSeconds () const
 
TimeRepresentationType GetTimeInMilliSeconds () const
 
TimeRepresentationType GetTimeInSeconds () const
 
TimeRepresentationType GetTimeInMinutes () const
 
TimeRepresentationType GetTimeInHours () const
 
TimeRepresentationType GetTimeInDays () const
 
RealTimeInterval operator- (const Self &) const
 
Self operator+ (const RealTimeInterval &) const
 
Self operator- (const RealTimeInterval &) const
 
const Selfoperator+= (const RealTimeInterval &)
 
const Selfoperator-= (const RealTimeInterval &)
 
bool operator> (const Self &) const
 
bool operator< (const Self &) const
 
bool operator== (const Self &) const
 
 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION (Self)
 
bool operator<= (const Self &) const
 
bool operator>= (const Self &) const
 

Private Types

using MicroSecondsCounterType = uint64_t
 
using MicroSecondsDifferenceType = RealTimeInterval::MicroSecondsDifferenceType
 
using SecondsCounterType = uint64_t
 
using SecondsDifferenceType = RealTimeInterval::SecondsDifferenceType
 

Private Member Functions

 RealTimeStamp (SecondsCounterType, MicroSecondsCounterType)
 

Private Attributes

MicroSecondsCounterType m_MicroSeconds
 
SecondsCounterType m_Seconds
 

Friends

ITKCommon_EXPORT std::ostream & operator<< (std::ostream &os, const RealTimeStamp &v)
 
class RealTimeClock
 

Member Typedef Documentation

◆ MicroSecondsCounterType

Definition at line 109 of file itkRealTimeStamp.h.

◆ MicroSecondsDifferenceType

Definition at line 115 of file itkRealTimeStamp.h.

◆ SecondsCounterType

using itk::RealTimeStamp::SecondsCounterType = uint64_t
private

Definition at line 108 of file itkRealTimeStamp.h.

◆ SecondsDifferenceType

Definition at line 114 of file itkRealTimeStamp.h.

◆ Self

Definition at line 48 of file itkRealTimeStamp.h.

◆ TimeRepresentationType

Native type used to represent the time in different time units.

Definition at line 59 of file itkRealTimeStamp.h.

Constructor & Destructor Documentation

◆ RealTimeStamp() [1/2]

itk::RealTimeStamp::RealTimeStamp ( )

Constructor

◆ ~RealTimeStamp()

itk::RealTimeStamp::~RealTimeStamp ( )

Destructor

◆ RealTimeStamp() [2/2]

itk::RealTimeStamp::RealTimeStamp ( SecondsCounterType  ,
MicroSecondsCounterType   
)
private

Constructor with values. Intentionally made private

Member Function Documentation

◆ GetTimeInDays()

TimeRepresentationType itk::RealTimeStamp::GetTimeInDays ( ) const

Return time in multiple units.

◆ GetTimeInHours()

TimeRepresentationType itk::RealTimeStamp::GetTimeInHours ( ) const

Return time in multiple units.

◆ GetTimeInMicroSeconds()

TimeRepresentationType itk::RealTimeStamp::GetTimeInMicroSeconds ( ) const

Return time in multiple units.

◆ GetTimeInMilliSeconds()

TimeRepresentationType itk::RealTimeStamp::GetTimeInMilliSeconds ( ) const

Return time in multiple units.

◆ GetTimeInMinutes()

TimeRepresentationType itk::RealTimeStamp::GetTimeInMinutes ( ) const

Return time in multiple units.

◆ GetTimeInSeconds()

TimeRepresentationType itk::RealTimeStamp::GetTimeInSeconds ( ) const

Return time in multiple units.

◆ ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION()

itk::RealTimeStamp::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION ( Self  )

Comparison operations.

◆ operator+()

Self itk::RealTimeStamp::operator+ ( const RealTimeInterval ) const

Arithmetic operations between RealTimeInterval and RealTimeStamp.

◆ operator+=()

const Self& itk::RealTimeStamp::operator+= ( const RealTimeInterval )

Arithmetic operations between RealTimeInterval and RealTimeStamp.

◆ operator-() [1/2]

Self itk::RealTimeStamp::operator- ( const RealTimeInterval ) const

Arithmetic operations between RealTimeInterval and RealTimeStamp.

◆ operator-() [2/2]

RealTimeInterval itk::RealTimeStamp::operator- ( const Self ) const

Arithmetic operations between RealTimeInterval and RealTimeStamp.

◆ operator-=()

const Self& itk::RealTimeStamp::operator-= ( const RealTimeInterval )

Arithmetic operations between RealTimeInterval and RealTimeStamp.

◆ operator<()

bool itk::RealTimeStamp::operator< ( const Self ) const

Comparison operations.

◆ operator<=()

bool itk::RealTimeStamp::operator<= ( const Self ) const

Comparison operations.

◆ operator==()

bool itk::RealTimeStamp::operator== ( const Self ) const

Comparison operations.

◆ operator>()

bool itk::RealTimeStamp::operator> ( const Self ) const

Comparison operations.

◆ operator>=()

bool itk::RealTimeStamp::operator>= ( const Self ) const

Comparison operations.

Friends And Related Function Documentation

◆ operator<<

ITKCommon_EXPORT std::ostream& operator<< ( std::ostream &  os,
const RealTimeStamp v 
)
friend

Default print out of a RealTimeStamp

◆ RealTimeClock

friend class RealTimeClock
friend

Definition at line 50 of file itkRealTimeStamp.h.

Member Data Documentation

◆ m_MicroSeconds

MicroSecondsCounterType itk::RealTimeStamp::m_MicroSeconds
private

Definition at line 119 of file itkRealTimeStamp.h.

◆ m_Seconds

SecondsCounterType itk::RealTimeStamp::m_Seconds
private

Number of Seconds and Microseconds since...

Definition at line 118 of file itkRealTimeStamp.h.


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