See also 

  
---  
  
###  Customization point objects

The name ` views::repeat ` denotes a _customization point object_ , which is a
const [ function object ](/w/cpp/named_req/FunctionObject "cpp/named
req/FunctionObject") of a [ literal ](/w/cpp/named_req/LiteralType "cpp/named
req/LiteralType") [ ` semiregular ` ](/w/cpp/concepts/semiregular
"cpp/concepts/semiregular") class type. For exposition purposes, the cv-
unqualified version of its type is denoted as ` ___repeat_fn_ ` .

All instances of ` ___repeat_fn_ ` are equal. The effects of invoking
different instances of type ` ___repeat_fn_ ` on the same arguments are
equivalent, regardless of whether the expression denoting the instance is an
lvalue or rvalue, and is const-qualified or not (however, a volatile-qualified
instance is not required to be invocable). Thus, ` views::repeat ` can be
copied freely and its copies can be used interchangeably.

Given a set of types ` Args... ` , if  [ std::  declval
](http://en.cppreference.com/w/cpp/utility/declval) < Args  > (  )  ...  meet
the requirements for arguments to ` views::repeat ` above, ` ___repeat_fn_ `
models  

  * [ std::  invocable  ](http://en.cppreference.com/w/cpp/concepts/invocable) < __repeat_fn, Args...  > , 
  * [ std::  invocable  ](http://en.cppreference.com/w/cpp/concepts/invocable) < const  __repeat_fn, Args...  > , 
  * [ std::  invocable  ](http://en.cppreference.com/w/cpp/concepts/invocable) < __repeat_fn  & , Args...  > , and 
  * [ std::  invocable  ](http://en.cppreference.com/w/cpp/concepts/invocable) < const  __repeat_fn  & , Args...  > .   

Otherwise, no function call operator of ` ___repeat_fn_ ` participates in
overload resolution.

###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/repeat_view&action=edit&section=1 "Edit
section: Data members") ]  Data members

Member name  |  Definition   
---|---  
` _value__ ` (private)  |  The beginning value of wrapped type [ ` _movable-box_ ` ](/w/cpp/ranges/copyable_wrapper "cpp/ranges/copyable wrapper") ` <W> ` .   
(  exposition-only member object*  )  
` _bound__ ` (private)  |  The sentinel value of type ` Bound ` .   
(  exposition-only member object*  )  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/repeat_view&action=edit&section=2 "Edit
section: Member functions") ]  Member functions

[ (constructor)  ](/w/cpp/ranges/repeat_view#ctor "cpp/ranges/repeat view") |  creates a ` repeat_view `   
(public member function)  
---|---  
[ begin  ](/w/cpp/ranges/repeat_view#begin "cpp/ranges/repeat view") |  obtains the beginning iterator of a  ` repeat_view `   
(public member function)  
[ end  ](/w/cpp/ranges/repeat_view#end "cpp/ranges/repeat view") |  obtains the sentinel denoting the end of a  ` repeat_view `   
(public member function)  
[ size  ](/w/cpp/ranges/repeat_view#size "cpp/ranges/repeat view") |  obtains the size of a  ` repeat_view ` if it is sized   
(public member function)  
  
#####  Inherited from  [ std::ranges::view_interface
](/w/cpp/ranges/view_interface "cpp/ranges/view interface")  
  
[ empty  ](/w/cpp/ranges/view_interface/empty "cpp/ranges/view interface/empty") (C++20)  |  returns whether the derived view is empty. Provided if it satisfies [ ` sized_range ` ](/w/cpp/ranges/sized_range "cpp/ranges/sized range") or [ ` 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_empty&action=edit)  
[ cbegin  ](/w/cpp/ranges/view_interface/cbegin "cpp/ranges/view interface/cbegin") (C++23)  |  returns a constant iterator to the beginning 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_cbegin&action=edit)  
[ cend  ](/w/cpp/ranges/view_interface/cend "cpp/ranges/view interface/cend") (C++23)  |  returns