File tree Expand file tree Collapse file tree
include/openPMD/auxiliary Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -59,6 +59,11 @@ class DeferredComputation
5959 std::variant<detail::OneTimeTask<T>, detail::CachedValue<T>> m_task;
6060
6161public:
62+ static constexpr bool noexcept_move =
63+ std::is_move_constructible_v<detail::OneTimeTask<T>> &&
64+ std::is_move_assignable_v<detail::OneTimeTask<T>> &&
65+ std::is_move_constructible_v<detail::CachedValue<T>> &&
66+ std::is_move_assignable_v<detail::CachedValue<T>>;
6267 /* * Construct from a callable
6368 *
6469 * @param task The callable to execute
@@ -72,10 +77,11 @@ class DeferredComputation
7277
7378 explicit DeferredComputation ();
7479
75- DeferredComputation (DeferredComputation &&) noexcept ;
80+ DeferredComputation (DeferredComputation &&) noexcept (noexcept_move) ;
7681 DeferredComputation (DeferredComputation const &) = delete ;
7782
78- auto operator =(DeferredComputation &&) noexcept -> DeferredComputation &;
83+ auto operator =(DeferredComputation &&) noexcept (noexcept_move)
84+ -> DeferredComputation &;
7985 auto operator =(DeferredComputation const &)
8086 -> DeferredComputation & = delete ;
8187
Original file line number Diff line number Diff line change @@ -57,12 +57,12 @@ template <typename T>
5757DeferredComputation<T>::DeferredComputation() = default ;
5858
5959template <typename T>
60- DeferredComputation<T>::DeferredComputation(DeferredComputation &&) noexcept =
61- default ;
60+ DeferredComputation<T>::DeferredComputation(DeferredComputation &&) noexcept (
61+ noexcept_move) = default ;
6262
6363template <typename T>
64- auto DeferredComputation<T>::operator =(DeferredComputation &&) noexcept
65- -> DeferredComputation & = default ;
64+ auto DeferredComputation<T>::operator =(DeferredComputation &&) noexcept (
65+ noexcept_move) -> DeferredComputation & = default ;
6666
6767template <typename T>
6868DeferredComputation<T>::~DeferredComputation ()
You can’t perform that action at this time.
0 commit comments