Update to Sunday constants

This commit is contained in:
Howard Hinnant
2018-06-11 15:14:44 -04:00
parent b86def339e
commit 0197889505
2 changed files with 20 additions and 20 deletions

View File

@@ -2096,7 +2096,7 @@ tai_clock::to_local(const tai_time<Duration>& t) NOEXCEPT
{ {
using duration = typename std::common_type<Duration, date::days>::type; using duration = typename std::common_type<Duration, date::days>::type;
return local_time<duration>{t.time_since_epoch()} - return local_time<duration>{t.time_since_epoch()} -
(local_days(year{1970}/jan/1) - local_days(year{1958}/jan/1)); (local_days(year{1970}/January/1) - local_days(year{1958}/January/1));
} }
template <class Duration> template <class Duration>
@@ -2106,7 +2106,7 @@ tai_clock::from_local(const local_time<Duration>& t) NOEXCEPT
{ {
using duration = typename std::common_type<Duration, date::days>::type; using duration = typename std::common_type<Duration, date::days>::type;
return tai_time<duration>{t.time_since_epoch()} + return tai_time<duration>{t.time_since_epoch()} +
(local_days(year{1970}/jan/1) - local_days(year{1958}/jan/1)); (local_days(year{1970}/January/1) - local_days(year{1958}/January/1));
} }
template <class CharT, class Traits, class Duration> template <class CharT, class Traits, class Duration>
@@ -2116,7 +2116,7 @@ to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
{ {
const std::string abbrev("TAI"); const std::string abbrev("TAI");
CONSTDATA std::chrono::seconds offset{0}; CONSTDATA std::chrono::seconds offset{0};
return to_stream(os, fmt, tai_clock::to_local(t), &abbrev, &offset); return to_stream(os, fmt, tai_clock::to_local(t), &abbrev, &offset);
} }
template <class CharT, class Traits, class Duration> template <class CharT, class Traits, class Duration>
@@ -2134,8 +2134,8 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr, std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
std::chrono::minutes* offset = nullptr) std::chrono::minutes* offset = nullptr)
{ {
local_time<Duration> lp; local_time<Duration> lp;
from_stream(is, fmt, lp, abbrev, offset); from_stream(is, fmt, lp, abbrev, offset);
if (!is.fail()) if (!is.fail())
tp = tai_clock::from_local(lp); tp = tai_clock::from_local(lp);
return is; return is;
@@ -2219,7 +2219,7 @@ gps_clock::to_local(const gps_time<Duration>& t) NOEXCEPT
{ {
using duration = typename std::common_type<Duration, date::days>::type; using duration = typename std::common_type<Duration, date::days>::type;
return local_time<duration>{t.time_since_epoch()} + return local_time<duration>{t.time_since_epoch()} +
(local_days(year{1980}/jan/sun[1]) - local_days(year{1970}/jan/1)); (local_days(year{1980}/January/Sunday[1]) - local_days(year{1970}/January/1));
} }
template <class Duration> template <class Duration>
@@ -2229,7 +2229,7 @@ gps_clock::from_local(const local_time<Duration>& t) NOEXCEPT
{ {
using duration = typename std::common_type<Duration, date::days>::type; using duration = typename std::common_type<Duration, date::days>::type;
return gps_time<duration>{t.time_since_epoch()} - return gps_time<duration>{t.time_since_epoch()} -
(local_days(year{1980}/jan/sun[1]) - local_days(year{1970}/jan/1)); (local_days(year{1980}/January/Sunday[1]) - local_days(year{1970}/January/1));
} }
@@ -2240,7 +2240,7 @@ to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
{ {
const std::string abbrev("GPS"); const std::string abbrev("GPS");
CONSTDATA std::chrono::seconds offset{0}; CONSTDATA std::chrono::seconds offset{0};
return to_stream(os, fmt, gps_clock::to_local(t), &abbrev, &offset); return to_stream(os, fmt, gps_clock::to_local(t), &abbrev, &offset);
} }
template <class CharT, class Traits, class Duration> template <class CharT, class Traits, class Duration>
@@ -2258,8 +2258,8 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr, std::basic_string<CharT, Traits, Alloc>* abbrev = nullptr,
std::chrono::minutes* offset = nullptr) std::chrono::minutes* offset = nullptr)
{ {
local_time<Duration> lp; local_time<Duration> lp;
from_stream(is, fmt, lp, abbrev, offset); from_stream(is, fmt, lp, abbrev, offset);
if (!is.fail()) if (!is.fail())
tp = gps_clock::from_local(lp); tp = gps_clock::from_local(lp);
return is; return is;
@@ -2484,13 +2484,13 @@ struct return_to_local
template<typename Clock, typename Duration> template<typename Clock, typename Duration>
struct return_to_local struct return_to_local
< <
Clock, Duration, Clock, Duration,
decltype(Clock::to_local(declval<time_point<Clock, Duration> const&>()), decltype(Clock::to_local(declval<time_point<Clock, Duration> const&>()),
void()) void())
> >
: return_clock_time : return_clock_time
< <
local_t, local_t,
decltype(Clock::to_local(declval<time_point<Clock, Duration> const&>())) decltype(Clock::to_local(declval<time_point<Clock, Duration> const&>()))
> >
{}; {};
@@ -2503,13 +2503,13 @@ struct return_from_local
template<typename Clock, typename Duration> template<typename Clock, typename Duration>
struct return_from_local struct return_from_local
< <
Clock, Duration, Clock, Duration,
decltype(Clock::from_local(declval<time_point<local_t, Duration> const&>()), decltype(Clock::from_local(declval<time_point<local_t, Duration> const&>()),
void()) void())
> >
: return_clock_time : return_clock_time
< <
Clock, Clock,
decltype(Clock::from_local(declval<time_point<local_t, Duration> const&>())) decltype(Clock::from_local(declval<time_point<local_t, Duration> const&>()))
> >
{}; {};
@@ -2564,7 +2564,7 @@ template<typename SrcClock>
struct clock_time_conversion<local_t, SrcClock> struct clock_time_conversion<local_t, SrcClock>
{ {
template <class Duration> template <class Duration>
typename ctc_detail::return_to_local<SrcClock, Duration>::type typename ctc_detail::return_to_local<SrcClock, Duration>::type
operator()(const std::chrono::time_point<SrcClock, Duration>& tp) const operator()(const std::chrono::time_point<SrcClock, Duration>& tp) const
{ {
return SrcClock::to_local(tp); return SrcClock::to_local(tp);

View File

@@ -13,7 +13,7 @@ main()
assert(clock_cast<local_t>(ls) == ls); assert(clock_cast<local_t>(ls) == ls);
} }
/// sys epoch /// sys epoch
{ {
auto ls = local_days{1970_y/01/01_d}; auto ls = local_days{1970_y/01/01_d};
auto st = clock_cast<system_clock>(ls); auto st = clock_cast<system_clock>(ls);
@@ -21,7 +21,7 @@ main()
assert(st.time_since_epoch() == seconds(0)); assert(st.time_since_epoch() == seconds(0));
} }
/// sys 2000 case /// sys 2000 case
{ {
auto ls = local_days{2000_y/01/01_d}; auto ls = local_days{2000_y/01/01_d};
auto st = clock_cast<system_clock>(ls); auto st = clock_cast<system_clock>(ls);
@@ -29,7 +29,7 @@ main()
assert(st.time_since_epoch() == seconds(946684800)); assert(st.time_since_epoch() == seconds(946684800));
} }
/// utc epoch /// utc epoch
{ {
auto lu = local_days{1970_y/01/01_d}; auto lu = local_days{1970_y/01/01_d};
auto ut = clock_cast<utc_clock>(lu); auto ut = clock_cast<utc_clock>(lu);
@@ -45,7 +45,7 @@ main()
assert(clock_cast<local_t>(ut) == lu); assert(clock_cast<local_t>(ut) == lu);
} }
/// utc paper example /// utc paper example
{ {
auto lu = local_days{2000_y/01/01_d}; auto lu = local_days{2000_y/01/01_d};
auto ut = clock_cast<utc_clock>(lu); auto ut = clock_cast<utc_clock>(lu);