` ](/w/cpp/ranges/repeat_view "cpp/ranges/repeat view") : 

    

  * [ views::  repeat  ](http://en.cppreference.com/w/cpp/ranges/repeat_view) (  *  e.  value_  , [ ranges::  distance  ](http://en.cppreference.com/w/cpp/iterator/ranges/distance) (  e  )  \-  inc  )  , if ` T ` models [ ` sized_range ` ](/w/cpp/ranges/sized_range "cpp/ranges/sized range") ; in such case  e  is evaluated only once; 
  * (  (  void  )  e,  auto  (  f  )  )  otherwise, except that the evaluations of  e  and  f  are indeterminately sequenced; 

|  (since C++23)  
---|---  
  
  * otherwise,  drop_view  (  e, f  )  . 

In all cases,  decltype  (  (  f  )  )  must model  [ std::  convertible_to
](http://en.cppreference.com/w/cpp/concepts/convertible_to) < D  > .

` drop_view ` models the concepts [ ` contiguous_range `
](/w/cpp/ranges/contiguous_range "cpp/ranges/contiguous range") , [ `
random_access_range ` ](/w/cpp/ranges/random_access_range "cpp/ranges/random
access range") , [ ` bidirectional_range ` ](/w/cpp/ranges/bidirectional_range
"cpp/ranges/bidirectional range") , [ ` forward_range `
](/w/cpp/ranges/forward_range "cpp/ranges/forward range") , [ ` input_range `
](/w/cpp/ranges/input_range "cpp/ranges/input range") , [ ` common_range `
](/w/cpp/ranges/common_range "cpp/ranges/common range") , and [ ` sized_range
` ](/w/cpp/ranges/sized_range "cpp/ranges/sized range") when the underlying
view ` V ` models respective concepts.

##  Contents

  * 1  Member functions 
    * 1.1  Inherited from  std::ranges::view_interface 
  * 2  Deduction guides 
  * 3  Helper templates 
  * 4  Example 
  * 5  Defect reports 
  * 6  See also 

  
---  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/drop_view&action=edit&section=1 "Edit
section: Member functions") ]  Member functions

[ (constructor)  ](/w/cpp/ranges/drop_view/drop_view "cpp/ranges/drop view/drop view") (C++20)  |  constructs a ` drop_view `   
(public member function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/adaptor/dsc_constructor&action=edit)  
---|---  
[ base  ](/w/cpp/ranges/drop_view/base "cpp/ranges/drop view/base") (C++20)  |  returns a copy of the underlying (adapted) view   
(public member function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/adaptor/dsc_base&action=edit)  
[ begin  ](/w/cpp/ranges/drop_view/begin "cpp/ranges/drop view/begin") (C++20)  |  returns an iterator to the beginning   
(public member function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/adaptor/dsc_begin&action=edit)  
[ end  ](/w/cpp/ranges/drop_view/end "cpp/ranges/drop view/end") (C++20)  |  returns an iterator or a sentinel to the end   
(public member function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/adaptor/dsc_end&action=edit)  
[ size  ](/w/cpp/ranges/drop_view/size "cpp/ranges/drop view/size") (C++20)  |  returns the number of elements. Provided only if the underlying (adapted) range satisfies [ ` sized_range ` ](/w/cpp/ranges/sized_range "cpp/ranges/sized range") .   
(public member function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/adaptor/dsc_size&action=edit)  
  
#####  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 ite