#include <chrono>
#include <iomanip>
#include <math.h>
#include <sstream>
#include <string>
#include "date/date.h"
#include "date/tz.h"
#include "MHO_Message.hh"
#include "MHO_Tokenizer.hh"
#include "legacy_hops_date.hh"
Go to the source code of this file.
|
class | hops::hops_clock |
| a clock for hops-time stamps, measures time in (UTC) nanoseconds since J2000 epoch. Functionality modelled on the gps_clock from the 'date' library (requires the timezone tz library too). Relys on the H. Hinnant date library (and tzdata), this library is expected to be adopted into cxx-20 standard More...
|
|
|
template<class Duration > |
using | hops::hops_time = std::chrono::time_point< hops_clock, Duration > |
| Class hops_time. More...
|
|
|
template<class Duration , class CharT , class Traits , class Alloc = std::allocator< CharT >> |
std::basic_istream< CharT, Traits > & | hops::from_stream (std::basic_istream< CharT, Traits > &is, const CharT *fmt, hops_time< Duration > &tp, std::basic_string< CharT, Traits, Alloc > *abbrev=nullptr, std::chrono::minutes *offset=nullptr) |
| Reads time and abbreviation from stream using given format, updates hops_time if successful. More...
|
|
template<class CharT , class Traits , class Duration > |
std::basic_ostream< CharT, Traits > & | hops::operator<< (std::basic_ostream< CharT, Traits > &os, const hops_time< Duration > &t) |
|
template<class CharT , class Traits , class Duration > |
std::basic_ostream< CharT, Traits > & | hops::to_stream (std::basic_ostream< CharT, Traits > &os, const CharT *fmt, const hops_time< Duration > &t) |
| Converts hops_time to stream format using given fmt and outputs to os. More...
|
|
◆ HOPS_TIME_DELIM
#define HOPS_TIME_DELIM "|" |
◆ HOPS_TIME_UNIT
#define HOPS_TIME_UNIT "ns" |
◆ HOPS_TIMESTAMP_PREFIX
#define HOPS_TIMESTAMP_PREFIX "HOPS-J2000" |
◆ HOUR_TO_SEC
#define HOUR_TO_SEC 3600.0 |
◆ ISO8601_UTC_FORMAT
#define ISO8601_UTC_FORMAT "%FT%TZ" |
◆ J2000_TAI_EPOCH
#define J2000_TAI_EPOCH "2000-01-01 11:59:27.816" |
◆ JD_TO_SEC
#define JD_TO_SEC 86400.0 |
◆ MINUTE_TO_SEC
#define MINUTE_TO_SEC 60.0 |
◆ NANOSEC_TO_SEC
#define NANOSEC_TO_SEC 1e-9 |
◆ SEC_TO_NANOSEC
#define SEC_TO_NANOSEC 1000000000 |