8 #ifndef INCLUDED_UHD_TYPES_TIME_SPEC_HPP 9 #define INCLUDED_UHD_TYPES_TIME_SPEC_HPP 12 #include <boost/operators.hpp> 29 boost::additive<time_spec_t>,
30 boost::additive<time_spec_t, double>,
31 boost::totally_ordered<time_spec_t>{
45 time_spec_t(time_t full_secs,
double frac_secs = 0);
54 time_spec_t(time_t full_secs,
long tick_count,
double tick_rate);
62 static time_spec_t from_ticks(
long long ticks,
double tick_rate);
70 long get_tick_count(
double tick_rate)
const;
78 long long to_ticks(
const double tick_rate)
const;
86 double get_real_secs(
void)
const;
92 time_t get_full_secs(
void)
const;
98 double get_frac_secs(
void)
const;
108 private: time_t _full_secs;
double _frac_secs;
118 return this->_full_secs;
122 return this->_frac_secs;
Definition: time_spec.hpp:28
Definition: build_info.hpp:14
#define UHD_INLINE
Definition: config.h:53
UHD_API bool operator<(const time_spec_t &, const time_spec_t &)
Implement less_than_comparable interface.
#define UHD_API
Definition: config.h:68
double get_frac_secs(void) const
Definition: time_spec.hpp:121
UHD_API bool operator==(const time_spec_t &, const time_spec_t &)
Implement equality_comparable interface.
time_t get_full_secs(void) const
Definition: time_spec.hpp:117