ITK  6.0.0
Insight Toolkit
itkRealTimeStamp.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkRealTimeStamp_h
19#define itkRealTimeStamp_h
20
21#include "itkRealTimeInterval.h"
22#include "itkMacro.h"
23#include <iostream>
24
25namespace itk
26{
45class ITKCommon_EXPORT RealTimeStamp
46{
47public:
49
51
52 friend class RealTimeClock;
53
56
59
62
80 operator-(const Self &) const;
81 Self
83 Self
85 const Self &
87 const Self &
92 bool
93 operator>(const Self &) const;
94 bool
95 operator<(const Self &) const;
96 bool
97 operator==(const Self &) const;
99 bool
100 operator<=(const Self &) const;
101 bool
102 operator>=(const Self &) const;
106 friend ITKCommon_EXPORT std::ostream &
107 operator<<(std::ostream & os, const RealTimeStamp & v);
108
109private:
110 using SecondsCounterType = uint64_t;
111 using MicroSecondsCounterType = uint64_t;
112
115
118
122};
123
124} // end of namespace itk
125
126#endif // itkRealTimeStamp_h
Provides a timestamp from a real-time clock.
A data structure for representing the time span between two RealTimeStamps, with similar high precisi...
The RealTimeStamp is a data structure for representing time with high precision and a large dynamic r...
TimeRepresentationType GetTimeInMinutes() const
MicroSecondsCounterType m_MicroSeconds
ITK_DEFAULT_COPY_AND_MOVE(RealTimeStamp)
RealTimeInterval::SecondsDifferenceType SecondsDifferenceType
const Self & operator+=(const RealTimeInterval &)
TimeRepresentationType GetTimeInDays() const
Self operator-(const RealTimeInterval &) const
RealTimeInterval::TimeRepresentationType TimeRepresentationType
bool operator==(const Self &) const
const Self & operator-=(const RealTimeInterval &)
TimeRepresentationType GetTimeInMilliSeconds() const
SecondsCounterType m_Seconds
RealTimeInterval::MicroSecondsDifferenceType MicroSecondsDifferenceType
TimeRepresentationType GetTimeInHours() const
uint64_t MicroSecondsCounterType
TimeRepresentationType GetTimeInSeconds() const
Self operator+(const RealTimeInterval &) const
RealTimeInterval operator-(const Self &) const
bool operator>(const Self &) const
RealTimeStamp(SecondsCounterType, MicroSecondsCounterType)
TimeRepresentationType GetTimeInMicroSeconds() const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Self)
bool operator>=(const Self &) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
bool operator<=(const Index< VDimension > &one, const Index< VDimension > &two)
Definition: itkIndex.h:571
bool operator<(const Index< VDimension > &one, const Index< VDimension > &two)
Definition: itkIndex.h:557