Lines Matching full:pattern

14 // template<input_range V, forward_range Pattern>
15 // requires view<V> && view<Pattern> &&
16 // indirectly_comparable<iterator_t<V>, iterator_t<Pattern>, ranges::equal_to> &&
17 // (forward_range<V> || tiny-range<Pattern>)
32 template <class View, class Pattern>
34 typename std::ranges::lazy_split_view<View, Pattern>;
37 // All constraints satisfied (`View` and `Pattern` are forward views).
41 using Pattern = ForwardView; typedef
43 static_assert( std::ranges::forward_range<Pattern>);
45 static_assert( std::ranges::view<Pattern>);
47 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
48 static_assert( CanInstantiate<View, Pattern>);
52 // All constraints satisfied (`View` is an input view and `Pattern` is a tiny view).
56 using Pattern = ForwardTinyView; typedef
58 static_assert( std::ranges::forward_range<Pattern>);
60 static_assert( std::ranges::view<Pattern>);
62 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
63 static_assert( CanInstantiate<View, Pattern>);
90 using Pattern = ForwardTinyView; typedef
92 static_assert( std::ranges::forward_range<Pattern>);
94 static_assert( std::ranges::view<Pattern>);
96 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
97 static_assert(!CanInstantiate<View, Pattern>);
105 using Pattern = ForwardView; typedef
107 static_assert( std::ranges::forward_range<Pattern>);
109 static_assert( std::ranges::view<Pattern>);
111 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
112 static_assert(!CanInstantiate<View, Pattern>);
116 // `Pattern` is not a forward range.
120 using Pattern = InputView; typedef
122 static_assert(!std::ranges::forward_range<Pattern>);
124 static_assert( std::ranges::view<Pattern>);
126 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
127 static_assert(!CanInstantiate<View, Pattern>);
141 using Pattern = IntForwardView; typedef
143 static_assert( std::ranges::forward_range<Pattern>);
145 static_assert( std::ranges::view<Pattern>);
147 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
148 static_assert(!CanInstantiate<View, Pattern>);
152 // `View` is an input range and `Pattern` is not a tiny range.
156 using Pattern = ForwardView; typedef
159 static_assert( std::ranges::forward_range<Pattern>);
160 LIBCPP_STATIC_ASSERT(!std::ranges::__tiny_range<Pattern>);
162 static_assert( std::ranges::view<Pattern>);
164 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
165 static_assert(!CanInstantiate<View, Pattern>);
169 // `View` is an input range and `Pattern` is almost a tiny range, except the `size()` function is n…
179 using Pattern = AlmostTinyRange; typedef
182 static_assert( std::ranges::forward_range<Pattern>);
183 LIBCPP_STATIC_ASSERT(!std::ranges::__tiny_range<Pattern>);
185 static_assert( std::ranges::view<Pattern>);
187 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
188 static_assert(!CanInstantiate<View, Pattern>);
192 // `View` is an input range and `Pattern` is almost a tiny range, except the `size()` returns a num…
202 using Pattern = ForwardView; typedef
205 static_assert( std::ranges::forward_range<Pattern>);
206 LIBCPP_STATIC_ASSERT(!std::ranges::__tiny_range<Pattern>);
208 static_assert( std::ranges::view<Pattern>);
210 std::ranges::iterator_t<View>, std::ranges::iterator_t<Pattern>, std::ranges::equal_to>);
211 static_assert(!CanInstantiate<View, Pattern>);