diff options
author | Abseil Team <absl-team@google.com> | 2018-02-09 11:56:54 -0800 |
---|---|---|
committer | Daniel Katz <katzdm@google.com> | 2018-02-09 20:09:05 +0000 |
commit | 0dc82b9d55e1616c1745d05973d40c9901903cc9 (patch) | |
tree | 9eaf6866f9625dcaac4c07790fbc06ff3fc099cf /absl/meta | |
parent | 4791df7d1ac966e6c7abdeffafa5030d718500df (diff) |
Changes imported from Abseil "staging" branch:
- a0405e7870a80a9dbc6784b06795e7df5a8c90f5 Internal change by Daniel Katz <katzdm@google.com>
- 2888fe17796d7afa45f4b6ca7eb8e88f52739c39 StrCat: Support zero-padding and space-padding for decima... by Jorg Brown <jorg@google.com>
- feebc521195241783730df9700394f6585550ff2 Merge GitHub PR #91. by Derek Mauro <dmauro@google.com>
- e8164335efefb7335f407c17a16fce2ba4f24e3e This changes the value base_internal::kOnceDone from 32-b... by Abseil Team <absl-team@google.com>
- 0f6085f3f0ee1d6baf9a558d07a25c2fcde93273 Remove `compliant` field from some type trait structs. by Matt Armstrong <marmstrong@google.com>
GitOrigin-RevId: a0405e7870a80a9dbc6784b06795e7df5a8c90f5
Change-Id: Ic2efd40f6ec35f79a8aa12d4475cbea3150756d7
Diffstat (limited to 'absl/meta')
-rw-r--r-- | absl/meta/type_traits.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/absl/meta/type_traits.h b/absl/meta/type_traits.h index f36a59aa..ac5d8e1c 100644 --- a/absl/meta/type_traits.h +++ b/absl/meta/type_traits.h @@ -150,6 +150,7 @@ struct is_trivially_destructible : std::integral_constant<bool, __has_trivial_destructor(T) && std::is_destructible<T>::value> { #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE + private: static constexpr bool compliant = std::is_trivially_destructible<T>::value == is_trivially_destructible::value; static_assert(compliant || std::is_trivially_destructible<T>::value, @@ -199,6 +200,7 @@ struct is_trivially_default_constructible std::is_default_constructible<T>::value && is_trivially_destructible<T>::value> { #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE + private: static constexpr bool compliant = std::is_trivially_default_constructible<T>::value == is_trivially_default_constructible::value; @@ -230,6 +232,7 @@ struct is_trivially_copy_constructible std::is_copy_constructible<T>::value && is_trivially_destructible<T>::value> { #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE + private: static constexpr bool compliant = std::is_trivially_copy_constructible<T>::value == is_trivially_copy_constructible::value; @@ -262,6 +265,7 @@ struct is_trivially_copy_assignable : std::integral_constant<bool, __has_trivial_assign(T) && std::is_copy_assignable<T>::value> { #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE + private: static constexpr bool compliant = std::is_trivially_copy_assignable<T>::value == is_trivially_copy_assignable::value; |