Export of internal Abseil changes.
-- c1f3a243ff3713917eaf0255c86ddd1b40461ba9 by Abseil Team <absl-team@google.com>: Remove stray space. PiperOrigin-RevId: 207753171 -- 4abe43b174f7fafa390d2f6eb96f31977a38fc69 by Shaindel Schwartz <shaindel@google.com>: Typo fix. PiperOrigin-RevId: 207572868 -- e7757b409256b025cadba20a84a93cb9dc4319e1 by Abseil Team <absl-team@google.com>: Adds backported is_(copy|move)_assignable<T> PiperOrigin-RevId: 207572180 GitOrigin-RevId: c1f3a243ff3713917eaf0255c86ddd1b40461ba9 Change-Id: I1202715e5092b54d5967017728044715d6eb2ec0
This commit is contained in:
parent
bea85b5273
commit
083d04dd4a
9 changed files with 126 additions and 32 deletions
|
|
@ -1227,23 +1227,23 @@ using VariantCopyBase = absl::conditional_t<
|
|||
// Base that is dependent on whether or not the move-assign can be trivial.
|
||||
template <class... T>
|
||||
using VariantMoveAssignBase = absl::conditional_t<
|
||||
absl::disjunction<absl::conjunction<std::is_move_assignable<Union<T...>>,
|
||||
absl::disjunction<absl::conjunction<absl::is_move_assignable<Union<T...>>,
|
||||
std::is_move_constructible<Union<T...>>,
|
||||
std::is_destructible<Union<T...>>>,
|
||||
absl::negation<absl::conjunction<
|
||||
std::is_move_constructible<T>...,
|
||||
std::is_move_assignable<T>...>>>::value,
|
||||
absl::is_move_assignable<T>...>>>::value,
|
||||
VariantCopyBase<T...>, VariantMoveAssignBaseNontrivial<T...>>;
|
||||
|
||||
// Base that is dependent on whether or not the copy-assign can be trivial.
|
||||
template <class... T>
|
||||
using VariantCopyAssignBase = absl::conditional_t<
|
||||
absl::disjunction<absl::conjunction<std::is_copy_assignable<Union<T...>>,
|
||||
absl::disjunction<absl::conjunction<absl::is_copy_assignable<Union<T...>>,
|
||||
std::is_copy_constructible<Union<T...>>,
|
||||
std::is_destructible<Union<T...>>>,
|
||||
absl::negation<absl::conjunction<
|
||||
std::is_copy_constructible<T>...,
|
||||
std::is_copy_assignable<T>...>>>::value,
|
||||
absl::is_copy_assignable<T>...>>>::value,
|
||||
VariantMoveAssignBase<T...>, VariantCopyAssignBaseNontrivial<T...>>;
|
||||
|
||||
template <class... T>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue