diff --git a/include/range/v3/range/concepts.hpp b/include/range/v3/range/concepts.hpp index 1e2c6c6338..615d84d45b 100644 --- a/include/range/v3/range/concepts.hpp +++ b/include/range/v3/range/concepts.hpp @@ -251,7 +251,7 @@ namespace ranges template CPP_concept view_ = range && - copyable && + movable && enable_view; /// \concept viewable_range diff --git a/test/utility/concepts.cpp b/test/utility/concepts.cpp index bc088c31f8..7a6a373dfb 100644 --- a/test/utility/concepts.cpp +++ b/test/utility/concepts.cpp @@ -318,6 +318,14 @@ struct myview : ranges::view_base { }; CPP_assert(ranges::view_); +struct move_only_view : myview { + move_only_view(const move_only_view&) = delete; + move_only_view& operator=(const move_only_view &) = delete; + move_only_view(move_only_view&&) = default; + move_only_view& operator=(move_only_view &&) = default; +}; +CPP_assert(ranges::view_); + CPP_template(class T) (requires ranges::regular) constexpr bool is_regular(T&&)