Goby3
3.1.5a
2024.05.23
|
#include <chrono>
#include <sstream>
#include <type_traits>
#include <boost/date_time.hpp>
#include <boost/units/cmath.hpp>
#include "goby/time/system_clock.h"
#include "goby/time/types.h"
Go to the source code of this file.
Namespaces | |
goby | |
The global namespace for the Goby project. | |
goby::time | |
Functions and objects related to timekeeping. | |
Functions | |
template<typename ToTimeType , typename FromTimeType , typename std::enable_if< std::is_same< ToTimeType, FromTimeType >{}, int >::type = 0> | |
ToTimeType | goby::time::convert (FromTimeType from_time) |
Convert between time representations (this function works for tautological conversions) More... | |
template<typename ToTimeType , typename FromTimeType , typename ToUnitType = typename ToTimeType::unit_type, typename ToValueType = typename ToTimeType::value_type, typename FromUnitType = typename FromTimeType::unit_type, typename FromValueType = typename FromTimeType::value_type, typename std::enable_if< !std::is_same< ToTimeType, FromTimeType >{} &&std::is_same< ToTimeType, boost::units::quantity< ToUnitType, ToValueType >>{} &&std::is_same< FromTimeType, boost::units::quantity< FromUnitType, FromValueType >>{}, int >::type = 0> | |
ToTimeType | goby::time::convert (FromTimeType from_time) |
Convert between time representations (this function converts between two different boost::units::quantity of time) More... | |
template<typename ToTimeType , typename FromTimeType , typename ToUnitType = typename ToTimeType::unit_type, typename ToValueType = typename ToTimeType::value_type, typename std::enable_if< std::is_same< ToTimeType, boost::units::quantity< ToUnitType, ToValueType >>{} &&(std::is_same< FromTimeType, SystemClock::time_point >{}||std::is_same< FromTimeType, std::chrono::system_clock::time_point >{}), int >::type = 0> | |
ToTimeType | goby::time::convert (FromTimeType from_time) |
Convert between time representations (this function converts to a boost::units::quantity of time from either a chrono::system_clock::time_point or a goby::time::SystemClock::time_point) More... | |
template<typename TimeType = SystemClock::time_point> | |
std::string | goby::time::str (TimeType value=SystemClock::now< TimeType >()) |
Returns the provided time (or current time if omitted) as a human-readable string. More... | |
template<typename TimeType = SystemClock::time_point> | |
std::string | goby::time::file_str (TimeType value=SystemClock::now< TimeType >()) |
Returns the provided time (or current time if omitted) as an ISO string suitable for file names (no spaces or special characters, e.g. 20180322T215258) More... | |
template<typename ToDurationType , typename FromDurationType , typename std::enable_if< std::is_same< ToDurationType, FromDurationType >{}, int >::type = 0> | |
ToDurationType | goby::time::convert_duration (FromDurationType from_duration) |
Convert between duration representations (this function works for tautological conversions) More... | |
template<typename ToDurationType , typename FromDurationType , typename ToUnitType = typename ToDurationType::unit_type, typename ToValueType = typename ToDurationType::value_type, typename FromUnitType = typename FromDurationType::unit_type, typename FromValueType = typename FromDurationType::value_type, typename std::enable_if< !std::is_same< ToDurationType, FromDurationType >{} &&std::is_same< ToDurationType, boost::units::quantity< ToUnitType, ToValueType >>{} &&std::is_same< FromDurationType, boost::units::quantity< FromUnitType, FromValueType >>{}, int >::type = 0> | |
ToDurationType | goby::time::convert_duration (FromDurationType from_duration) |
Convert between duration representations (this function converts between two different boost::units::quantity of time) More... | |
template<typename ToTimeType > | |
ToTimeType | goby::time::convert_from_nmea (const std::string &utc, boost::gregorian::date return_date=boost::gregorian::day_clock::universal_day()) |
Convert from NMEA0183 time representations (i.e. "HHMMSS[.SSSS]") to any time format supported by the goby::time::convert function family. This function assumes the time is from the current day. More... | |
template<typename ToTimeType > | |
ToTimeType | goby::time::convert_from_nmea (const std::string &utc, const std::string &date) |
Convert from NMEA0183 time representations (i.e. "HHMMSS[.SSSS]") to any time format supported by the goby::time::convert function family. This function assumes the time is from the current day. More... | |