/common_range
"cpp/ranges/common range") , otherwise  [ std::  move_sentinel
](http://en.cppreference.com/w/cpp/iterator/move_sentinel) (  [ ranges::  end
](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/end) (  base_  )
)  .

2)  Returns  [ std::  move_iterator
](http://en.cppreference.com/w/cpp/iterator/move_iterator) (  [ ranges::  end
](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/end) (  base_  )
)  if ` const V ` models [ ` common_range ` ](/w/cpp/ranges/common_range
"cpp/ranges/common range") , otherwise  [ std::  move_sentinel
](http://en.cppreference.com/w/cpp/iterator/move_sentinel) (  [ ranges::  end
](http://en.cppreference.com/w/cpp/ranges-ranges-placeholder/end) (  base_  )
)  .

##  std::ranges::as_rvalue_view::  size

constexpr  auto  size  (  )  requires [ ranges::  sized_range  ](http://en.cppreference.com/w/cpp/ranges/sized_range) < V  > ;  |  (1)  |  (since C++23)   
---|---|---  
constexpr  auto  size  (  )  const  requires [ ranges::  sized_range  ](http://en.cppreference.com/w/cpp/ranges/sized_range) < const  V  > ;  |  (2)  |  (since C++23)   
|  |   
  
Returns the size of the view if the view is bounded.

1,2)  Equivalent to  return  [ ranges::  size
](http://en.cppreference.com/w/cpp/ranges/size) (  base_  )  ;

###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/as_rvalue_view&action=edit&section=4 "Edit
section: Deduction guides") ]  Deduction guides

template  < class  R  >  
as_rvalue_view  (  R  && )  \-  > as_rvalue_view  < [ views::  all_t  ](http://en.cppreference.com/w/cpp/ranges/all_view) < R  >> ;  |  |  (since C++23)   
---|---|---  
|  |   
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/as_rvalue_view&action=edit&section=5 "Edit
section: Helper templates") ]  Helper templates

template  < class  T  >  
inline  constexpr  bool  enable_borrowed_range  < std  ::  ranges  ::
as_rvalue_view  < T  >> =  
std  ::  [ ranges::  enable_borrowed_range  ](http://en.cppreference.com/w/cpp/ranges/borrowed_range) < T  > ;  |  |  (since C++23)   
---|---|---  
|  |   
  
This specialization of [ ` std::ranges::enable_borrowed_range `
](/w/cpp/ranges/borrowed_range "cpp/ranges/borrowed range") makes `
as_rvalue_view ` satisfy [ ` borrowed_range ` ](/w/cpp/ranges/borrowed_range
"cpp/ranges/borrowed range") when the underlying view satisfies it.

###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/as_rvalue_view&action=edit&section=6 "Edit
section: Notes") ]  Notes

[ Feature-test ](/w/cpp/utility/feature_test "cpp/utility/feature test") macro  |  Value  |  Std  |  Feature   
---|---|---|---  
[ ` __cpp_lib_ranges_as_rvalue ` ](/w/cpp/feature_test#cpp_lib_ranges_as_rvalue "cpp/feature test") |  202207L  |  (C++23)  |  ` std::ranges::as_rvalue_view `  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/as_rvalue_view&action=edit&section=7 "Edit
section: Example") ]  Example

|  This section is incomplete  
Reason: example  
---|---  
  
###  [ [ edit
](/mwiki/index.php?title=cpp/ranges/as_rvalue_view&action=edit&section=8 "Edit
section: See also") ]  See also

[ move_iterator  ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator") (C++11)  |  iterator adaptor which dereferences to an rvalue   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_move_iterator&action=edit)  
---|---  
[ move_sentinel  ](/w/cpp/iterator/move_sentinel "cpp/iterator/move sentinel") (C++20)  |  sentinel adaptor for use with  [ std::move_iterator ](/w/cpp/iterator/move_iterator "cpp/iterator/move iterator")   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/iterator/dsc_move_sentinel&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)