nges/dsc_take_while_view&action=edit)  
[ ranges::drop_view  views::drop  ](/w/cpp/ranges/drop_view "cpp/ranges/drop view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") consisting of elements of another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") , skipping the first N elements   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_drop_view&action=edit)  
[ ranges::drop_while_view  views::drop_while  ](/w/cpp/ranges/drop_while_view "cpp/ranges/drop while view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") consisting of the elements of another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") , skipping the initial subsequence of elements until the first element where the predicate returns  false    
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_drop_while_view&action=edit)  
[ ranges::join_view  views::join  ](/w/cpp/ranges/join_view "cpp/ranges/join view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") consisting of the sequence obtained from flattening a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") of [ ` range ` s ](/w/cpp/ranges/range "cpp/ranges/range")   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_join_view&action=edit)  
[ ranges::lazy_split_view  views::lazy_split  ](/w/cpp/ranges/lazy_split_view "cpp/ranges/lazy split view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") over the subranges obtained from splitting another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") using a delimiter   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_lazy_split_view&action=edit)  
[ ranges::split_view  views::split  ](/w/cpp/ranges/split_view "cpp/ranges/split view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") over the subranges obtained from splitting another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") using a delimiter   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_split_view&action=edit)  
[ views::counted  ](/w/cpp/ranges/view_counted "cpp/ranges/view counted") (C++20)  |  creates a subrange from an iterator and a count   
(customization point object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_view_counted&action=edit)  
[ ranges::common_view  views::common  ](/w/cpp/ranges/common_view "cpp/ranges/common view") (C++20)  |  converts a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") into a [ ` common_range ` ](/w/cpp/ranges/common_range "cpp/ranges/common range")   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_common_view&action=edit)  
[ ranges::reverse_view  views::reverse  ](/w/cpp/ranges/reverse_view "cpp/ranges/reverse view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") that iterates over the elements of another bidirectional view in reverse order   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_reverse_view&action=edit)  
[ ranges::as_const_view  views::as_const  ](/w/cpp/ranges/as_const_view "cpp/ranges/as const view") (C++23)  |  converts a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") into a [ ` constant_range ` ](/w/cpp/ranges/constant_range "cpp/ranges/constant range")   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_as_const_view&action=edit)  
[ ranges::as_rvalue_view  views::as_rvalue  ](/w/cpp/ranges/as_rvalue_view "cpp/ranges/as rvalue view") (C++23)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp