5 #ifndef VCCC_OPTIONAL_INTERNAL_MOVE_ASSIGNMENT_H_
6 #define VCCC_OPTIONAL_INTERNAL_MOVE_ASSIGNMENT_H_
8 # include <type_traits>
16 template<
typename T,
bool v =
20 struct move_assign : copy_assign<T> {
21 using base = copy_assign<T>;
26 struct move_assign<T, false> : copy_assign<T> {
27 using base = copy_assign<T>;
30 move_assign() =
default;
31 move_assign(move_assign
const&) =
default;
32 move_assign(move_assign &&) =
default;
33 move_assign& operator=(move_assign
const&) =
default;
34 move_assign& operator=(move_assign && other)
41 this->val = std::move(other.val);
43 this->construct(std::move(other.val));
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35