HOPS
HOPS class reference
Classes | Namespaces | Macros | Typedefs | Functions
MHO_Clock.hh File Reference
#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.

Classes

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...
 

Namespaces

 hops
 

Macros

#define HOPS_TIME_DELIM   "|"
 
#define HOPS_TIME_UNIT   "ns"
 
#define HOPS_TIMESTAMP_PREFIX   "HOPS-J2000"
 
#define HOUR_TO_SEC   3600.0
 
#define ISO8601_UTC_FORMAT   "%FT%TZ"
 
#define J2000_TAI_EPOCH   "2000-01-01 11:59:27.816"
 
#define JD_TO_SEC   86400.0
 
#define MINUTE_TO_SEC   60.0
 
#define NANOSEC_TO_SEC   1e-9
 
#define SEC_TO_NANOSEC   1000000000
 

Typedefs

template<class Duration >
using hops::hops_time = std::chrono::time_point< hops_clock, Duration >
 Class hops_time. More...
 

Functions

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...
 

Macro Definition Documentation

◆ 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