diff options
author | Abseil Team <absl-team@google.com> | 2018-11-16 13:36:37 -0800 |
---|---|---|
committer | Jon Cohen <cohenjon@google.com> | 2018-11-16 16:38:42 -0500 |
commit | f6ae816808cd913e0e2b3e2af14f328fa1071af0 (patch) | |
tree | d0a58c79dc57b04518389e6eacc65cf2e984ff42 /absl/time | |
parent | a06c4a1d9093137b7217a5aaba8920d62e835dc0 (diff) |
Export of internal Abseil changes.
--
da04b8cd21f6225d71397471474d34a77df0efd6 by Jon Cohen <cohenjon@google.com>:
Don't use std::any, std::optional, std::variant, and friends on MacOS versions older than 10.14.
Although Xcode 10 includes those headers and makes the types available to use, according to https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes, on MacOS 10.13 and earlier use of any functions (std::get, for example) results in an error message to upgrade to MacOS 10.14.
This fixes https://github.com/abseil/abseil-cpp/issues/207. See that issue for more information on the error generated.
PiperOrigin-RevId: 221844618
--
1d99f77b4c60c5b0d7984f46e8ed63a3f969c635 by Jon Cohen <cohenjon@google.com>:
raw_hash_set_test is still flaky under gcc 4.8. Since we now have the probe_test, we don't need the PerfectRatio tests. Just remove them.
PiperOrigin-RevId: 221843042
--
135cbb2a5d90963256518b3b59fe6710815e5dfa by Abseil Team <absl-team@google.com>:
Update absl/algorithm/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221828348
--
1a5abde4f17f998ae89d87155d59f982a70202d8 by Jon Cohen <cohenjon@google.com>:
Internal change
PiperOrigin-RevId: 221708245
--
e03e031d4de39275989f695c768b0940cce1ff16 by Matt Armstrong <marmstrong@google.com>:
Log to FATAL in throw_delegate.h
ABSL_RAW_LOG(FATAL, ...) is guaranteed to abort.
Previously, the code was logging to ERROR and
calling abort() explicitly, which defeated any
integration with absl::raw_logging_internal::AbortHook().
These changes are limited to Abseil internal APIs.
PiperOrigin-RevId: 221696513
--
d13691523a3f9a5367fd1194cf9604bf4a969029 by Shahriar Rouf <nafi@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 221694877
--
f4044c56d44ba0ac2a9f218ed55f1b1f9e985eae by Abseil Team <absl-team@google.com>:
Update absl/base/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221676669
GitOrigin-RevId: da04b8cd21f6225d71397471474d34a77df0efd6
Change-Id: If6621e10d096a39b6a056a072c2727a0df0b0620
Diffstat (limited to 'absl/time')
-rw-r--r-- | absl/time/internal/cctz/include/cctz/civil_time_detail.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/absl/time/internal/cctz/include/cctz/civil_time_detail.h index 855958ec..0cf27ddb 100644 --- a/absl/time/internal/cctz/include/cctz/civil_time_detail.h +++ b/absl/time/internal/cctz/include/cctz/civil_time_detail.h @@ -326,6 +326,37 @@ CONSTEXPR_F fields align(year_tag, fields f) noexcept { //////////////////////////////////////////////////////////////////////// +namespace impl { + +template <typename H> +H AbslHashValueImpl(second_tag, H h, fields f) { + return H::combine(std::move(h), f.y, f.m, f.d, f.hh, f.mm, f.ss); +} +template <typename H> +H AbslHashValueImpl(minute_tag, H h, fields f) { + return H::combine(std::move(h), f.y, f.m, f.d, f.hh, f.mm); +} +template <typename H> +H AbslHashValueImpl(hour_tag, H h, fields f) { + return H::combine(std::move(h), f.y, f.m, f.d, f.hh); +} +template <typename H> +H AbslHashValueImpl(day_tag, H h, fields f) { + return H::combine(std::move(h), f.y, f.m, f.d); +} +template <typename H> +H AbslHashValueImpl(month_tag, H h, fields f) { + return H::combine(std::move(h), f.y, f.m); +} +template <typename H> +H AbslHashValueImpl(year_tag, H h, fields f) { + return H::combine(std::move(h), f.y); +} + +} // namespace impl + +//////////////////////////////////////////////////////////////////////// + template <typename T> class civil_time { public: @@ -418,8 +449,7 @@ class civil_time { template <typename H> friend H AbslHashValue(H h, civil_time a) { - return H::combine(std::move(h), a.f_.y, a.f_.m, a.f_.d, - a.f_.hh, a.f_.mm, a.f_.ss); + return impl::AbslHashValueImpl(T{}, std::move(h), a.f_); } private: |