39 template<
typename Representation,
typename Period>
40 inline tNanoSeconds(
const std::chrono::duration<Representation, Period>& oDuration):
41 nCount(std::chrono::duration_cast<std::chrono::nanoseconds>(oDuration).count())
47 nCount += tmDuration.nCount;
53 nCount -= tmDuration.nCount;
83 return tmA.nCount < tmB.nCount;
88 return tmA.nCount > tmB.nCount;
91 inline bool operator<=(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
93 return tmA.nCount <= tmB.nCount;
96 inline bool operator>=(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
98 return tmA.nCount >= tmB.nCount;
101 inline bool operator==(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
103 return tmA.nCount == tmB.nCount;
106 inline bool operator!=(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
108 return tmA.nCount != tmB.nCount;
111 inline tNanoSeconds operator+(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
113 return tNanoSeconds{tmA.nCount + tmB.nCount};
116 inline tNanoSeconds operator-(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
118 return tNanoSeconds{tmA.nCount - tmB.nCount};
121 inline tNanoSeconds operator*(
const tNanoSeconds& tmDuration,
const int64_t& nFactor)
123 return tNanoSeconds{tmDuration.nCount * nFactor};
126 inline tNanoSeconds operator*(
const int64_t& nFactor,
const tNanoSeconds& tmDuration)
128 return tNanoSeconds{nFactor * tmDuration.nCount};
131 inline tNanoSeconds operator/(
const tNanoSeconds& tmDuration,
const int64_t& tmB)
133 return tNanoSeconds{tmDuration.nCount / tmB};
136 inline int64_t operator/(
const tNanoSeconds& tmA,
const tNanoSeconds& tmB)
138 return tmA.nCount / tmB.nCount;
147 template <
typename DestinationTimeStamp,
typename SourceTimeStamp>
148 DestinationTimeStamp duration_cast(
const SourceTimeStamp& )
151 return DestinationTimeStamp();
155 inline tTimeStamp duration_cast(
const tNanoSeconds& tmSource)
157 return tmSource.nCount / 1000;
161 inline tNanoSeconds duration_cast(
const tTimeStamp& tmSource)
163 return tNanoSeconds{tmSource * 1000};
181 return tmSource.count() / 1000;
186 using flash::tNanoSeconds;
187 using flash::duration_cast;
Copyright © Audi Electronics Venture GmbH.
std::chrono::nanoseconds nanoseconds
Compatibility to C++11 std::chrono::nanoseconds
bool operator!=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Inequality operator for forward_iterator.
bool operator==(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Equality operator for forward_iterator.
Namespace for entire ADTF SDK.
a timestamp with nanosecond precision