12 #ifndef ECL_TIME_TIMESTAMP_BASE_HPP_ 13 #define ECL_TIME_TIMESTAMP_BASE_HPP_ 105 long sec()
const {
return time.tv_sec; }
112 long msec()
const {
return time.tv_nsec/1000000L; }
119 long usec()
const {
return time.tv_nsec/1000; }
126 long nsec()
const {
return time.tv_nsec; }
134 operator double()
const {
return ( time.tv_sec + time.tv_nsec*0.000000001); }
213 template <
typename OutputStream>
225 template <
typename OutputStream>
228 if ( ( time_stamp.
time.tv_sec == 0 ) && (time_stamp.
time.tv_nsec < 0 ) ) {
231 ostream << time_stamp.
time.tv_sec <<
".";
232 long nanoseconds = std::abs(time_stamp.
time.tv_nsec);
233 if ( nanoseconds < 10 ) {
234 ostream <<
"00000000";
235 }
else if ( nanoseconds < 100 ) {
236 ostream <<
"0000000";
237 }
else if ( nanoseconds < 1000 ) {
239 }
else if ( nanoseconds < 10000 ) {
241 }
else if ( nanoseconds < 100000 ) {
243 }
else if ( nanoseconds < 1000000 ) {
245 }
else if ( nanoseconds < 10000000 ) {
247 }
else if ( nanoseconds < 100000000 ) {
250 ostream << nanoseconds;
long msec() const
Milliseconds component (after removing seconds).
Embedded control libraries.
This class provides common functionality across platforms for the timestamps.
long sec() const
Seconds component.
long nsec() const
Nanoseconds component (after removing seconds).
OutputStream & operator<<(OutputStream &ostream, const TimeStampBase &time_stamp)
#define ecl_assert_throw_decl(exception)
long usec() const
Microseconds component (after removing seconds).