[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_owning_view&action=edit)  
[ ranges::filter_view  views::filter  ](/w/cpp/ranges/filter_view "cpp/ranges/filter view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") that consists of the elements of a [ ` range ` ](/w/cpp/ranges/range "cpp/ranges/range") that satisfies a predicate   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_filter_view&action=edit)  
[ ranges::transform_view  views::transform  ](/w/cpp/ranges/transform_view "cpp/ranges/transform view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") of a sequence that applies a transformation function to each element   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_transform_view&action=edit)  
[ ranges::take_view  views::take  ](/w/cpp/ranges/take_view "cpp/ranges/take view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") consisting of the first N elements of another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view")   
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/dsc_take_view&action=edit)  
[ ranges::take_while_view  views::take_while  ](/w/cpp/ranges/take_while_view "cpp/ranges/take while view") (C++20)  |  a [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") consisting of the initial elements of another [ ` view ` ](/w/cpp/ranges/view "cpp/ranges/view") , until the first element on which a predicate returns  false    
(class template)  (range adaptor object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/ranges/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::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)  
[ 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)  (