We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e7c3476 commit c97f7c5Copy full SHA for c97f7c5
1 file changed
impl/concat/concat.hpp
@@ -34,12 +34,17 @@ using concat_rvalue_reference_t = common_reference_t<range_rvalue_reference_t<Rs
34
template <class... Rs>
35
using concat_value_t = common_type_t<range_value_t<Rs>...>;
36
37
+template <class ConcatRef, class EachRef>
38
+concept concat_no_prref = is_reference_v<ConcatRef> ||
39
+ (is_reference_v<EachRef> &&
40
+ !same_as<std::remove_reference_t<EachRef>, ConcatRef>);
41
+
42
// clang-format off
43
template <class Ref, class RRef, class It>
44
concept concat_indirectly_readable_impl = requires (const It it){
45
{ *it } -> convertible_to<Ref>;
46
{ ranges::iter_move(it) } -> convertible_to<RRef>;
-};
47
+} && concat_no_prref<Ref, iter_reference_t<It>>;
48
49
50
concept concat_indirectly_readable =
0 commit comments