VCCC  2024.05
VisualCamp Common C++ library
owning_view< R > Class Template Reference

#include </home/jarvis/actions-runner/jarvis-vccc-2/_work/vccc/vccc/include/vccc/__ranges/owning_view.hpp>

+ Inheritance diagram for owning_view< R >:

Detailed Description

template<typename R>
class vccc::ranges::owning_view< R >

owning_view is a view that has unique ownership of a range. It is move-only and stores that range within it.

Public Member Functions

constexpr owning_view ()=default
 
constexpr owning_view (owning_view &&)=default
 
constexpr owning_view (const owning_view &)=delete
 
constexpr owning_view (R &&t) noexcept(std::is_nothrow_move_constructible< R >::value)
 
owning_viewoperator= (owning_view &&)=default
 
owning_viewoperator= (const owning_view &)=delete
 
constexpr R & base () &noexcept
 
constexpr const R & base () const &noexcept
 
constexpr R && base () &&noexcept
 
constexpr const R && base () const &&noexcept
 
template<typename T = R>
constexpr iterator_t< T > begin ()
 
template<typename T = R, std::enable_if_t< range< const T >::value, int > = 0>
constexpr auto begin () const
 
template<typename T = R>
constexpr sentinel_t< T > end ()
 
template<typename T = R, std::enable_if_t< range< const T >::value, int > = 0>
constexpr auto end () const
 
template<typename T = R, std::enable_if_t< is_invocable< decltype(ranges::end), T & >::value, int > = 0>
constexpr bool empty ()
 
template<typename T = R, std::enable_if_t< is_invocable< decltype(ranges::end), const T & >::value, int > = 0>
constexpr bool empty () const
 
template<typename T = R, std::enable_if_t< sized_range< T >::value, int > = 0>
constexpr auto size ()
 
template<typename T = R, std::enable_if_t< sized_range< const T >::value, int > = 0>
constexpr auto size () const
 
template<typename T = R, std::enable_if_t< contiguous_range< T >::value, int > = 0>
constexpr auto data ()
 
template<typename T = R, std::enable_if_t< contiguous_range< const T >::value, int > = 0>
constexpr auto data () const
 
- Public Member Functions inherited from view_interface< owning_view< R > >
constexpr bool empty ()
 
constexpr bool empty ()
 
constexpr bool empty () const
 
constexpr bool empty () const
 
constexpr auto cbegin ()
 
constexpr auto cbegin () const
 
constexpr auto cend ()
 
constexpr auto cend () const
 
constexpr operator bool ()
 
constexpr operator bool () const
 
constexpr auto data ()
 
constexpr auto data () const
 
constexpr auto size ()
 
constexpr auto size () const
 
constexpr decltype(auto) front ()
 
constexpr decltype(auto) front () const
 
constexpr decltype(auto) back ()
 
constexpr decltype(auto) back () const
 
constexpr decltype(auto) operator[] (range_difference_t< R > n)
 
constexpr decltype(auto) operator[] (range_difference_t< R > n) const
 

Additional Inherited Members

- Public Types inherited from view_interface< owning_view< R > >
using $vccc_derived = owning_view< R >
 

Constructor & Destructor Documentation

◆ owning_view() [1/4]

constexpr owning_view ( )
constexprdefault

◆ owning_view() [2/4]

constexpr owning_view ( owning_view< R > &&  )
constexprdefault

◆ owning_view() [3/4]

constexpr owning_view ( const owning_view< R > &  )
constexprdelete

◆ owning_view() [4/4]

constexpr owning_view ( R &&  t)
inlineconstexprnoexcept

Member Function Documentation

◆ base() [1/4]

constexpr R&& base ( ) &&
inlineconstexprnoexcept

◆ base() [2/4]

constexpr R& base ( ) &
inlineconstexprnoexcept

◆ base() [3/4]

constexpr const R&& base ( ) const &&
inlineconstexprnoexcept

◆ base() [4/4]

constexpr const R& base ( ) const &
inlineconstexprnoexcept

◆ begin() [1/2]

constexpr iterator_t<T> begin ( )
inlineconstexpr

◆ begin() [2/2]

constexpr auto begin ( ) const
inlineconstexpr

◆ data() [1/2]

constexpr auto data ( )
inlineconstexpr

◆ data() [2/2]

constexpr auto data ( ) const
inlineconstexpr

◆ empty() [1/2]

constexpr bool empty ( )
inlineconstexpr

◆ empty() [2/2]

constexpr bool empty ( ) const
inlineconstexpr

◆ end() [1/2]

constexpr sentinel_t<T> end ( )
inlineconstexpr

◆ end() [2/2]

constexpr auto end ( ) const
inlineconstexpr

◆ operator=() [1/2]

owning_view& operator= ( const owning_view< R > &  )
delete

◆ operator=() [2/2]

owning_view& operator= ( owning_view< R > &&  )
default

◆ size() [1/2]

constexpr auto size ( )
inlineconstexpr

◆ size() [2/2]

constexpr auto size ( ) const
inlineconstexpr

The documentation for this class was generated from the following file: