13 using base::operator();
14 copyable_function(copyable_function&&)
noexcept =
default;
15 copyable_function& operator=(copyable_function&&)
noexcept =
default;
16 copyable_function(copyable_function
const&) =
default;
17 copyable_function& operator=(copyable_function
const&) =
default;
19 requires std::is_constructible_v<copyable_function, F>
20 copyable_function& operator=(F&& f) {
21 *
this = copyable_function{std::forward<F>(f)};
24 friend void swap(copyable_function& f1, copyable_function& f2)
noexcept { f1.swap(f2); }