tempoch-cpp 0.5.5
Header-only C++ wrapper for tempoch
Loading...
Searching...
No Matches
time_base.hpp File Reference

Core Time<S>, EncodedTime<S, F>, and TimeContext types. More...

#include "civil_time.hpp"
#include "ffi_core.hpp"
#include "formats/formats.hpp"
#include "scales/scales.hpp"
#include <cmath>
#include <memory>
#include <optional>
#include <ostream>
#include <type_traits>
#include <utility>
Include dependency graph for time_base.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tempoch::detail::ContextDeleter
class  tempoch::TimeContext
 Immutable conversion context for UT1 and historical UTC routes. More...
class  tempoch::Time< S >
 A point in time on scale S, stored as a split J2000-second pair. More...
class  tempoch::EncodedTime< S, F >
 A typed external encoding of a time instant on scale S. More...

Namespaces

namespace  tempoch
namespace  tempoch::detail

Functions

std::shared_ptr< tempoch_context_t > tempoch::detail::make_default_context ()
std::shared_ptr< tempoch_context_t > tempoch::detail::make_builtin_eop_context ()
std::shared_ptr< tempoch_context_t > tempoch::detail::make_pre_definition_context (const tempoch_context_t *parent)
tempoch_time_t tempoch::detail::make_time (double hi_seconds, double lo_seconds)
template<typename From, typename To>
tempoch_time_t tempoch::detail::scale_convert (const tempoch_time_t &value, const tempoch_context_t *ctx)
template<typename S, typename F>
double tempoch::detail::encode_time (const tempoch_time_t &value, const tempoch_context_t *ctx)
template<typename S, typename F>
tempoch_time_t tempoch::detail::decode_time (double raw, const tempoch_context_t *ctx)
tempoch_time_t tempoch::detail::time_from_civil (const CivilTime &civil, const tempoch_context_t *ctx)
CivilTime tempoch::detail::time_to_civil (const tempoch_time_t &value, const tempoch_context_t *ctx)
template<typename Q>
tempoch_time_t tempoch::detail::add_seconds (const tempoch_time_t &value, const Q &qty)
qtty::Second tempoch::detail::difference_seconds (const tempoch_time_t &lhs, const tempoch_time_t &rhs)
template<typename F>
FormatTraits< F >::quantity_type tempoch::detail::quantity_from_raw (double raw)
template<typename F>
void tempoch::detail::ensure_finite_encoded (double raw, const char *operation)
template<typename S>
std::ostream & tempoch::operator<< (std::ostream &os, const Time< S > &time)
template<typename S, typename F>
std::ostream & tempoch::operator<< (std::ostream &os, const EncodedTime< S, F > &time)

Detailed Description

Core Time<S>, EncodedTime<S, F>, and TimeContext types.

Definition in file time_base.hpp.