| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Private Attributes | Friends | List of all members
Gaudi::TimeSpan Class Reference

Based on seal::TimeSpan. More...

`#include <GaudiKernel/Time.h>`

## Public Types
typedef long long | ValueType

## Public Member Functions
| TimeSpan ()=default
| Initialize an empty (zero) time difference. More...
| TimeSpan (Time t)
| Initialize a time span from Time t. More...
| TimeSpan (ValueType nsecs)
| Initialize a time span to a specific length. More...
| TimeSpan (ValueType secs, int nsecs)
| Initialise a time span to a specific length. More...
| TimeSpan (int days, int hours, int mins, int secs, int nsecs)
| Initialise a time span to a specific length. More...
int | days () const
| Get the number of complete days in the span. More...
int | hours () const
| Get the number of complete hours in the span. More...
int | minutes () const
| Get the number of complete minutes in the span. More...
ValueType | seconds () const
| Get the number of complete seconds in the span. More...
int | lastHours () const
| Get the number of complete hours in the last incomplete day of the span. More...
int | lastMinutes () const
| Get the number of complete minutes in the last incomplete hour of the span. More...
int | lastSeconds () const
| Get the number of complete seconds in the last incomplete minute of the span. More...
int | lastNSeconds () const
| Get the number of nanoseconds in the last incomplete second of the span. More...
TimeSpan & | operator+= (const TimeSpan &x)
| Add to a time span. More...
TimeSpan & | operator-= (const TimeSpan &x)
| Subtract from a time span. More...
TimeSpan & | operator *= (const TimeSpan &n)
| Multiply a time span. More...
TimeSpan & | operator/= (const TimeSpan &n)
| Divide a time span. More...
TimeSpan & | operator%= (const TimeSpan &n)
| Compute a modulo of a time span. More...
ValueType | ns () const
| Return the time span as nanoseconds. More...

## Private Attributes
ValueType | m_nsecs = 0

## Friends
class | Time
bool | operator== (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
bool | operator!= (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
bool | operator< (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
bool | operator<= (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
bool | operator> (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
bool | operator>= (const Gaudi::TimeSpan &t1, const Gaudi::TimeSpan &t2)
Gaudi::TimeSpan | operator+ (const Gaudi::TimeSpan &ts1, const Gaudi::TimeSpan &ts2)
Gaudi::TimeSpan | operator- (const Gaudi::TimeSpan &ts1, const Gaudi::TimeSpan &ts2)

## Detailed Description

Based on seal::TimeSpan.

A difference between two Time values. In addition to supporting normal integer artihmetic and comparisons, the span can also be converted to a number useful units.

See also
  Time.

(Documentation taken from original SEAL class)

Author
  Marco Clemencic

Date
  2005-12-15

Definition at line 52 of file Time.h.

## Member Typedef Documentation

## ◆ ValueType

typedef long long Gaudi::TimeSpan::ValueType

Definition at line 56 of file Time.h.

## Constructor & Destructor Documentation

## ◆ TimeSpan() [1/5]

Gaudi::TimeSpan::TimeSpan | ( |  | ) |
| default

Initialize an empty (zero) time difference.

## ◆ TimeSpan() [2/5]

Gaudi::TimeSpan::TimeSpan | ( | Time | t | ) |
| inline

Initialize a time span from Time t.

Definition at line 62 of file Time.icpp.

62 : m_nsecs( t.m_nsecs ) {}
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ TimeSpan() [3/5]

Gaudi::TimeSpan::TimeSpan | ( | ValueType | nsecs | ) |
| inline

Initialize a time span to a specific length.

Definition at line 65 of file Time.icpp.

65 : m_nsecs( nsecs ) {}
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ TimeSpan() [4/5]

Gaudi::TimeSpan::TimeSpan | ( | ValueType | secs,
|  | int | nsecs
| ) |  |
| inline

Initialise a time span to a specific length.

The value is initialised to the sum of the parts—the parts do not need to fall into their "natural" ranges. The values are normalised to the natural meanings (e.g. 1000 seconds - 500 nanoseconds), so be careful with signs if you are producing values from other sources.

Parameters

  secs | Seconds.
  nsecs | Nanoseconds.

Definition at line 75 of file Time.icpp.

75 : m_nsecs( secs * Time::SEC_NSECS + nsecs ) {}
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260

## ◆ TimeSpan() [5/5]

Gaudi::TimeSpan::TimeSpan | ( | int | days,
|  | int | hours,
|  | int | mins,
|  | int | secs,
|  | int | nsecs
| ) |  |
| inline

Initialise a time span to a specific length.

The value is initialised to the sum of the parts—the parts do not need to fall into their "natural" ranges. The values are normalised to the natural meanings (e.g. 1000 seconds - 500 nanoseconds), so be careful with signs if you are producing values from other sources.

Parameters

  days | Whole days.
  hours | Whole hours.
  mins | Whole minutes.
  secs | Whole seconds.
  nsecs | Nanoseconds.

Definition at line 88 of file Time.icpp.

88 {
89 m_nsecs = ( secs + 60 * ( mins + 60 * ( hours + 24 * days ) ) ) * Time::SEC_NSECS + nsecs;
90 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260
Gaudi::TimeSpan::days
int days() const
Get the number of complete days in the span.
Definition: Time.icpp:93
Gaudi::TimeSpan::hours
int hours() const
Get the number of complete hours in the span.
Definition: Time.icpp:96

## Member Function Documentation

## ◆ days()

int Gaudi::TimeSpan::days | ( |  | ) | const
| inline

Get the number of complete days in the span.

Definition at line 93 of file Time.icpp.

93 { return int( m_nsecs / Time::SEC_NSECS / Time::SECS_PER_DAY ); }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260
Gaudi::Time::SECS_PER_DAY
static const int SECS_PER_DAY
Seconds in 24 hours.
Definition: Time.h:254

## ◆ hours()

int Gaudi::TimeSpan::hours | ( |  | ) | const
| inline

Get the number of complete hours in the span.

Definition at line 96 of file Time.icpp.

96 { return int( m_nsecs / Time::SEC_NSECS / Time::SECS_PER_HOUR ); }
Gaudi::Time::SECS_PER_HOUR
static const int SECS_PER_HOUR
Seconds in one hour hour.
Definition: Time.h:257
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260

## ◆ lastHours()

int Gaudi::TimeSpan::lastHours | ( |  | ) | const
| inline

Get the number of complete hours in the last incomplete day of the span.

Definition at line 109 of file Time.icpp.

109 { return hours() - days() * 24; }
Gaudi::TimeSpan::days
int days() const
Get the number of complete days in the span.
Definition: Time.icpp:93
Gaudi::TimeSpan::hours
int hours() const
Get the number of complete hours in the span.
Definition: Time.icpp:96

## ◆ lastMinutes()

int Gaudi::TimeSpan::lastMinutes | ( |  | ) | const
| inline

Get the number of complete minutes in the last incomplete hour of the span.

Definition at line 113 of file Time.icpp.

113 { return minutes() - hours() * 60; }
Gaudi::TimeSpan::minutes
int minutes() const
Get the number of complete minutes in the span.
Definition: Time.icpp:99
Gaudi::TimeSpan::hours
int hours() const
Get the number of complete hours in the span.
Definition: Time.icpp:96

## ◆ lastNSeconds()

int Gaudi::TimeSpan::lastNSeconds | ( |  | ) | const
| inline

Get the number of nanoseconds in the last incomplete second of the span.

Definition at line 121 of file Time.icpp.

121 { return int( m_nsecs % Time::SEC_NSECS ); }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260

## ◆ lastSeconds()

int Gaudi::TimeSpan::lastSeconds | ( |  | ) | const
| inline

Get the number of complete seconds in the last incomplete minute of the span.

Definition at line 117 of file Time.icpp.

117 { return int( seconds() - ( (ValueType)minutes() * (ValueType)60 ) ); }
Gaudi::TimeSpan::seconds
ValueType seconds() const
Get the number of complete seconds in the span.
Definition: Time.icpp:102
Gaudi::TimeSpan::minutes
int minutes() const
Get the number of complete minutes in the span.
Definition: Time.icpp:99
Gaudi::TimeSpan::ValueType
long long ValueType
Definition: Time.h:56

## ◆ minutes()

int Gaudi::TimeSpan::minutes | ( |  | ) | const
| inline

Get the number of complete minutes in the span.

Definition at line 99 of file Time.icpp.

99 { return int( m_nsecs / Time::SEC_NSECS / 60 ); }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260

## ◆ ns()

TimeSpan::ValueType Gaudi::TimeSpan::ns | ( |  | ) | const
| inline

Return the time span as nanoseconds.

Definition at line 105 of file Time.icpp.

105 { return m_nsecs; }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ operator *=()

TimeSpan & Gaudi::TimeSpan::operator *= | ( | const TimeSpan & | x | ) |
| inline

Multiply a time span.

Definition at line 136 of file Time.icpp.

136 {
137 m_nsecs *= x.m_nsecs;
138 return *this;
139 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ operator%=()

TimeSpan & Gaudi::TimeSpan::operator%= | ( | const TimeSpan & | x | ) |
| inline

Compute a modulo of a time span.

Definition at line 148 of file Time.icpp.

148 {
149 m_nsecs %= x.m_nsecs;
150 return *this;
151 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ operator+=()

TimeSpan & Gaudi::TimeSpan::operator+= | ( | const TimeSpan & | x | ) |
| inline

Add to a time span.

Definition at line 124 of file Time.icpp.

124 {
125 m_nsecs += x.m_nsecs;
126 return *this;
127 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ operator-=()

TimeSpan & Gaudi::TimeSpan::operator-= | ( | const TimeSpan & | x | ) |
| inline

Subtract from a time span.

Definition at line 130 of file Time.icpp.

130 {
131 m_nsecs -= x.m_nsecs;
132 return *this;
133 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ operator/=()

TimeSpan & Gaudi::TimeSpan::operator/= | ( | const TimeSpan & | x | ) |
| inline

Divide a time span.

Definition at line 142 of file Time.icpp.

142 {
143 m_nsecs /= x.m_nsecs;
144 return *this;
145 }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105

## ◆ seconds()

TimeSpan::ValueType Gaudi::TimeSpan::seconds | ( |  | ) | const
| inline

Get the number of complete seconds in the span.

Definition at line 102 of file Time.icpp.

102 { return m_nsecs / Time::SEC_NSECS; }
Gaudi::TimeSpan::m_nsecs
ValueType m_nsecs
Definition: Time.h:105
Gaudi::Time::SEC_NSECS
static const ValueType SEC_NSECS
Nanoseconds in one second.
Definition: Time.h:260

## Friends And Related Function Documentation

## ◆ operator!=

bool operator!= | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 86 of file Time.h.

86 { return t1.ns() != t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ operator+

Gaudi::TimeSpan operator+ | ( | const Gaudi::TimeSpan & | ts1,
|  | const Gaudi::TimeSpan & | ts2
| ) |  |
| friend

Definition at line 96 of file Time.h.

96 {
97 return Gaudi::TimeSpan( ts1.ns() + ts2.ns() );
98 }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105
Gaudi::TimeSpan
Based on seal::TimeSpan.
Definition: Time.h:52

## ◆ operator-

Gaudi::TimeSpan operator- | ( | const Gaudi::TimeSpan & | ts1,
|  | const Gaudi::TimeSpan & | ts2
| ) |  |
| friend

Definition at line 100 of file Time.h.

100 {
101 return Gaudi::TimeSpan( ts1.ns() - ts2.ns() );
102 }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105
Gaudi::TimeSpan
Based on seal::TimeSpan.
Definition: Time.h:52

## ◆ operator<

bool operator< | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 88 of file Time.h.

88 { return t1.ns() < t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ operator<=

bool operator<= | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 90 of file Time.h.

90 { return t1.ns() <= t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ operator==

bool operator== | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 84 of file Time.h.

84 { return t1.ns() == t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ operator>

bool operator> | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 92 of file Time.h.

92 { return t1.ns() > t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ operator>=

bool operator>= | ( | const Gaudi::TimeSpan & | t1,
|  | const Gaudi::TimeSpan & | t2
| ) |  |
| friend

Definition at line 94 of file Time.h.

94 { return t1.ns() >= t2.ns(); }
Gaudi::TimeSpan::ns
ValueType ns() const
Return the time span as nanoseconds.
Definition: Time.icpp:105

## ◆ Time

friend class Time
| friend

Definition at line 53 of file Time.h.

## Member Data Documentation

## ◆ m_nsecs

ValueType Gaudi::TimeSpan::m_nsecs = 0
| private

Definition at line 105 of file Time.h.

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

- GaudiKernel/GaudiKernel/Time.h
- GaudiKernel/GaudiKernel/Time.icpp