DUDS
Distributed Update of Data from Something
duds::time::planetary Namespace Reference

Classes

struct  beuint32_t
 
struct  DuplicateLeapSecond
 More than one leap second was specified for the same time. More...
 
class  Earth
 Terran time stuffs. More...
 
class  LeapBounds
 A container holding the number of leap seconds and the time bounds over which the leap seconds are applied. More...
 
struct  LeapOutOfRangeError
 The specified number of leap seconds is outside the allowable range. More...
 
class  LeapSeconds
 Stores when leap seconds occur to allow conversions between Interstellar Time or TAI and planetary time systems like UTC and POSIX. More...
 
struct  ZoneDuplicateLeap
 More than one leap second was specified for the same time in a zoneinfo database file. More...
 
struct  ZoneinfoError
 An error involving reading a zoneinfo database file. More...
 
struct  ZoneIoError
 An I/O error occured while reading a zoneinfo database file. More...
 
struct  ZoneTruncated
 The zoneinfo file claimed to have more leap second records than were read from the file. More...
 

Functions

const boost::gregorian::date EarthDateZero (boost::gregorian::date(1970, 1, 1))
 
const boost::posix_time::ptime EarthTimeZero (EarthDateZero)
 
std::istream & operator>> (std::istream &is, beuint32_t &bei)
 
template<class ISTime >
boost::gregorian::date ToDate (const ISTime &t)
 Converts without applying any modification to the time, so if the input is in TAI, the result will be, too. More...
 
template<class ISTime >
boost::posix_time::ptime ToPosix (const ISTime &t)
 Converts without applying any modification to the time, so if the input is in TAI, the result will be, too. More...
 

Variables

unique_ptr< Earthearth
 

Function Documentation

◆ EarthDateZero()

const boost::gregorian::date duds::time::planetary::EarthDateZero ( boost::gregorian::date(1970, 1, 1)  )

◆ EarthTimeZero()

const boost::posix_time::ptime duds::time::planetary::EarthTimeZero ( EarthDateZero  )

◆ operator>>()

std::istream& duds::time::planetary::operator>> ( std::istream &  is,
beuint32_t bei 
)

Reads a big endian unsigned 32-bit integer as binary data and converts it to host byte order.

Definition at line 33 of file LeapSeconds.cpp.

◆ ToDate()

template<class ISTime >
boost::gregorian::date duds::time::planetary::ToDate ( const ISTime &  t)
inline

Converts without applying any modification to the time, so if the input is in TAI, the result will be, too.

Not a member of Earth to emphasize that this is just a type conversion that does no adjustment of the time.

Definition at line 206 of file Planetary.hpp.

◆ ToPosix()

template<class ISTime >
boost::posix_time::ptime duds::time::planetary::ToPosix ( const ISTime &  t)
inline

Converts without applying any modification to the time, so if the input is in TAI, the result will be, too.

Not a member of Earth to emphasize that this is just a type conversion that does no adjustment of the time.

Definition at line 220 of file Planetary.hpp.

Variable Documentation

◆ earth

unique_ptr< Earth > duds::time::planetary::earth