diff --git a/view.hpp b/view.hpp index 02f67f6a..da349e9c 100644 --- a/view.hpp +++ b/view.hpp @@ -167,11 +167,24 @@ namespace cruft { //--------------------------------------------------------------------- - constexpr view (const view &) noexcept = default; - constexpr view (view &&) noexcept = default; + constexpr view (const view &) noexcept ( + std::is_nothrow_copy_constructible_v && std::is_nothrow_copy_constructible_v + ) = default; - view& operator= (const view &rhs) noexcept = default; - view& operator= (view &&rhs) noexcept = default; + + constexpr view (view &&) noexcept ( + std::is_nothrow_move_constructible_v && std::is_nothrow_move_constructible_v + ) = default; + + + view& operator= (view const &rhs) noexcept ( + std::is_nothrow_copy_assignable_v && std::is_nothrow_copy_assignable_v + ) = default; + + + view& operator= (view &&rhs) noexcept ( + std::is_nothrow_move_assignable_v && std::is_nothrow_move_assignable_v + ) = default; //---------------------------------------------------------------------