a sentinel for the constant iterator of the range.   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_cend&action=edit)  
[ operator bool  ](/w/cpp/ranges/view_interface/operator_bool "cpp/ranges/view interface/operator bool") (C++20)  |  returns whether the derived view is not empty. Provided if  [ ranges::empty ](/w/cpp/ranges/empty "cpp/ranges/empty") is applicable to it.   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_operator_bool&action=edit)  
[ front  ](/w/cpp/ranges/view_interface/front "cpp/ranges/view interface/front") (C++20)  |  returns the first element in the derived view. Provided if it satisfies [ ` forward_range ` ](/w/cpp/ranges/forward_range "cpp/ranges/forward range") .   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_front&action=edit)  
[ back  ](/w/cpp/ranges/view_interface/back "cpp/ranges/view interface/back") (C++20)  |  returns the last element in the derived view. Provided if it satisfies [ ` bidirectional_range ` ](/w/cpp/ranges/bidirectional_range "cpp/ranges/bidirectional range") and [ ` common_range ` ](/w/cpp/ranges/common_range "cpp/ranges/common range") .   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_back&action=edit)  
[ operator[]  ](/w/cpp/ranges/view_interface/operator_at "cpp/ranges/view interface/operator at") (C++20)  |  returns the n  th  element in the derived view. Provided if it satisfies [ ` random_access_range ` ](/w/cpp/ranges/random_access_range "cpp/ranges/random access range") .   
(public member function of ` std::ranges::view_interface<D> ` )  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/view_interface/dsc_operator_at&action=edit)  
  
##  std::ranges::repeat_view::  repeat_view

repeat_view  (  )  requires [ std::  default_initializable  ](http://en.cppreference.com/w/cpp/concepts/default_initializable) < W  > =  default  ;  |  (1)  |  (since C++23)   
---|---|---  
constexpr  explicit  repeat_view  (  const  W  & value, Bound bound  =  Bound  (  )  )  ;  |  (2)  |  (since C++23)   
constexpr  explicit  repeat_view  (  W  && value, Bound bound  =  Bound  (  )  )  ;  |  (3)  |  (since C++23)   
template  < class  ...  WArgs  ,  class  ...  BoundArgs  >  
requires [ std::  constructible_from
](http://en.cppreference.com/w/cpp/concepts/constructible_from) < W, WArgs...
>  
&& [ std::  constructible_from
](http://en.cppreference.com/w/cpp/concepts/constructible_from) < Bound,
BoundArgs...  >  
constexpr  explicit  repeat  (  [ std::  piecewise_construct_t
](http://en.cppreference.com/w/cpp/utility/piecewise_construct_t) ,  
[ std::  tuple  ](http://en.cppreference.com/w/cpp/utility/tuple) < WArgs...
> value_args,  
[ std::  tuple  ](http://en.cppreference.com/w/cpp/utility/tuple) < BoundArgs...  > bound_args  =  [ std::  tuple  ](http://en.cppreference.com/w/cpp/utility/tuple) <> {  }  )  ;  |  (4)  |  (since C++23)   
|  |   
  
1)  Value-initializes ` _value__ ` and ` _bound__ ` via their default member
initializers (  =  W  (  )  and  =  Bound  (  )  ).

2)  Initializes ` _value__ ` with  value  and initializes ` _bound__ ` with
bound  . The behavior is undefined if ` Bound ` is not  [ std::
unreachable_sentinel_t
](http://en.cppreference.com/w/cpp/iterator/unreachable_sentinel_t) and  bool
(  bound  >=  0  )  is  false  .

3)  Initializes ` _value__ ` with  std  ::  move  (  value  )  and initializes
` _bound__ ` with  bound  . The behavior is undefined if ` Bound ` is not  [
std::  unreachable_sentinel_t
](http://en.cppreference.com/w/cpp/iterator/unreachable_sentine