|
4013 | 4013 | \rSec3[range.take.while.view]{Class template \tcode{take_while_view}} |
4014 | 4014 |
|
4015 | 4015 | \indexlibraryglobal{take_while_view}% |
| 4016 | +\indexlibrarymember{base}{take_while_view}% |
| 4017 | +\indexlibrarymember{begin}{take_while_view}% |
| 4018 | +\indexlibrarymember{end}{take_while_view}% |
4016 | 4019 | \begin{codeblock} |
4017 | 4020 | namespace std::ranges { |
4018 | 4021 | template<view R, class Pred> |
|
4028 | 4031 | take_while_view() = default; |
4029 | 4032 | constexpr take_while_view(R base, Pred pred); |
4030 | 4033 |
|
4031 | | - constexpr R base() const; |
| 4034 | + constexpr R base() const& requires copy_constructible<R> { return base_; } |
| 4035 | + constexpr R base() && { return std::move(base_); } |
| 4036 | + |
4032 | 4037 | constexpr const Pred& pred() const; |
4033 | 4038 |
|
4034 | 4039 | constexpr auto begin() requires (!@\placeholder{simple-view}@<R>) |
|
4061 | 4066 | \tcode{pred_} with \tcode{std::move(pred)}. |
4062 | 4067 | \end{itemdescr} |
4063 | 4068 |
|
4064 | | -\indexlibrarymember{base}{take_while_view}% |
4065 | | -\begin{itemdecl} |
4066 | | -constexpr R base() const; |
4067 | | -\end{itemdecl} |
4068 | | - |
4069 | | -\begin{itemdescr} |
4070 | | -\pnum |
4071 | | -\effects |
4072 | | -Equivalent to: \tcode{return base_;} |
4073 | | -\end{itemdescr} |
4074 | | - |
4075 | 4069 | \indexlibrarymember{pred}{take_while_view}% |
4076 | 4070 | \begin{itemdecl} |
4077 | 4071 | constexpr const Pred& pred() const; |
|
4177 | 4171 | \rSec3[range.drop.view]{Class template \tcode{drop_view}} |
4178 | 4172 |
|
4179 | 4173 | \indexlibraryglobal{drop_view}% |
| 4174 | +\indexlibrarymember{base}{drop_view}% |
| 4175 | +\indexlibrarymember{end}{drop_view}% |
| 4176 | +\indexlibrarymember{size}{drop_view}% |
4180 | 4177 | \begin{codeblock} |
4181 | 4178 | namespace std::ranges { |
4182 | 4179 | template<view R> |
|
4185 | 4182 | drop_view() = default; |
4186 | 4183 | constexpr drop_view(R base, range_difference_t<R> count); |
4187 | 4184 |
|
4188 | | - constexpr R base() const; |
| 4185 | + constexpr R base() const& requires copy_constructible<R> { return base_; } |
| 4186 | + constexpr R base() && { return std::move(base_); } |
4189 | 4187 |
|
4190 | 4188 | constexpr auto begin() |
4191 | 4189 | requires (!(@\placeholder{simple-view}@<R> && random_access_range<R>)); |
|
4241 | 4239 | \tcode{count_} with \tcode{count}. |
4242 | 4240 | \end{itemdescr} |
4243 | 4241 |
|
4244 | | -\indexlibrarymember{base}{drop_view}% |
4245 | | -\begin{itemdecl} |
4246 | | -constexpr R base() const; |
4247 | | -\end{itemdecl} |
4248 | | - |
4249 | | -\begin{itemdescr} |
4250 | | -\pnum |
4251 | | -\effects |
4252 | | -Equivalent to: \tcode{return base_;} |
4253 | | -\end{itemdescr} |
4254 | | - |
4255 | 4242 | \indexlibrarymember{begin}{drop_view}% |
4256 | 4243 | \begin{itemdecl} |
4257 | 4244 | constexpr auto begin() |
|
4311 | 4298 | \rSec3[range.drop.while.view]{Class template \tcode{drop_while_view}} |
4312 | 4299 |
|
4313 | 4300 | \indexlibraryglobal{drop_while_view}% |
| 4301 | +\indexlibrarymember{base}{drop_while_view}% |
| 4302 | +\indexlibrarymember{end}{drop_while_view}% |
4314 | 4303 | \begin{codeblock} |
4315 | 4304 | namespace std::ranges { |
4316 | 4305 | template<view R, class Pred> |
|
4321 | 4310 | drop_while_view() = default; |
4322 | 4311 | constexpr drop_while_view(R base, Pred pred); |
4323 | 4312 |
|
4324 | | - constexpr R base() const; |
| 4313 | + constexpr R base() const& requires copy_constructible<R> { return base_; } |
| 4314 | + constexpr R base() && { return std::move(base_); } |
| 4315 | + |
4325 | 4316 | constexpr const Pred& pred() const; |
4326 | 4317 |
|
4327 | 4318 | constexpr auto begin(); |
|
4351 | 4342 | \tcode{pred_} with \tcode{std::move(pred)}. |
4352 | 4343 | \end{itemdescr} |
4353 | 4344 |
|
4354 | | -\indexlibrarymember{base}{drop_while_view}% |
4355 | | -\begin{itemdecl} |
4356 | | -constexpr R base() const; |
4357 | | -\end{itemdecl} |
4358 | | - |
4359 | | -\begin{itemdescr} |
4360 | | -\pnum |
4361 | | -\effects |
4362 | | -Equivalent to: \tcode{return base_;} |
4363 | | -\end{itemdescr} |
4364 | | - |
4365 | 4345 | \indexlibrarymember{pred}{drop_while_view}% |
4366 | 4346 | \begin{itemdecl} |
4367 | 4347 | constexpr const Pred& pred() const; |
|
5992 | 5972 | \rSec3[range.elements.view]{Class template \tcode{elements_view}} |
5993 | 5973 |
|
5994 | 5974 | \indexlibraryglobal{elements_view}% |
| 5975 | +\indexlibrarymember{base}{elements_view}% |
| 5976 | +\indexlibrarymember{begin}{elements_view}% |
| 5977 | +\indexlibrarymember{end}{elements_view}% |
| 5978 | +\indexlibrarymember{size}{elements_view}% |
5995 | 5979 | \begin{codeblock} |
5996 | 5980 | namespace std::ranges { |
5997 | 5981 | template<class T, size_t N> |
|
6012 | 5996 | elements_view() = default; |
6013 | 5997 | constexpr explicit elements_view(R base); |
6014 | 5998 |
|
6015 | | - constexpr R base() const; |
| 5999 | + constexpr R base() const& requires copy_constructible<R> { return base_; } |
| 6000 | + constexpr R base() && { return std::move(base_); } |
6016 | 6001 |
|
6017 | 6002 | constexpr auto begin() requires (!@\placeholder{simple-view}@<R>) |
6018 | 6003 | { return iterator<false>(ranges::begin(base_)); } |
|
6050 | 6035 | Initializes \tcode{base_} with \tcode{std::move(base)}. |
6051 | 6036 | \end{itemdescr} |
6052 | 6037 |
|
6053 | | -\indexlibrarymember{base}{elements_view}% |
6054 | | -\begin{itemdecl} |
6055 | | -constexpr R base() const; |
6056 | | -\end{itemdecl} |
6057 | | - |
6058 | | -\begin{itemdescr} |
6059 | | -\pnum |
6060 | | -\effects |
6061 | | -Equivalent to: \tcode{return base_;} |
6062 | | -\end{itemdescr} |
6063 | | - |
6064 | 6038 | \rSec3[range.elements.iterator]{Class template \tcode{elements_view::iterator}} |
6065 | 6039 |
|
6066 | 6040 | \indexlibraryglobal{elements_view::iterator}% |
|
0 commit comments