di 0.1.0
Loading...
Searching...
No Matches
di::container::OwningView< Cont > Class Template Reference

#include <di/container/view/owning_view.h>

Inheritance diagram for di::container::OwningView< Cont >:
di::container::ViewInterface< OwningView< Cont > > di::meta::EnableBorrowedContainer< OwningView< Cont >, concepts::BorrowedContainer< Cont > > di::meta::EnableView< OwningView< Cont > >

Public Member Functions

constexpr OwningView ()=default
constexpr OwningView (OwningView const &)=delete
constexpr OwningView (OwningView &&)=default
constexpr OwningView (Cont &&container)
constexpr auto operator= (OwningView const &) -> OwningView &=delete
constexpr auto operator= (OwningView &&) -> OwningView &=default
constexpr auto base () &-> Cont &
constexpr auto base () const &-> Cont const &
constexpr auto base () &&-> Cont &&
constexpr auto base () const &&-> Cont const &&
constexpr auto begin ()
constexpr auto begin () const
constexpr auto end ()
constexpr auto end () const
constexpr auto empty () -> bool requires(concepts::HasEmptyContainer< Cont >)
constexpr auto empty () const -> bool requires(concepts::HasEmptyContainer< Cont const >)
constexpr auto size ()
constexpr auto size () const
constexpr auto data ()
constexpr auto data () const
Public Member Functions inherited from di::container::ViewInterface< OwningView< Cont > >
constexpr auto empty () -> bool requires(concepts::SizedContainer< OwningView< Cont > >||concepts::ForwardContainer< OwningView< Cont > >)
constexpr operator bool ()
constexpr auto cbegin ()
constexpr auto cend ()
constexpr auto data ()
constexpr auto size ()
constexpr auto front ()
constexpr auto back ()
constexpr auto operator[] (meta::ContainerSSizeType< Cont > n) -> decltype(auto)
constexpr auto at (meta::ContainerSSizeType< Cont > n) -> Optional< meta::ContainerReference< Cont > >

Friends

template<typename T, typename U>
requires (!concepts::SameAs<OwningView, Cont> && concepts::Invocable<decltype(container::reconstruct), InPlaceType<Cont>, T, U>)
constexpr friend auto tag_invoke (types::Tag< container::reconstruct >, InPlaceType< OwningView >, T &&t, U &&u)

Constructor & Destructor Documentation

◆ OwningView() [1/4]

template<concepts::Container Cont>
di::container::OwningView< Cont >::OwningView ( )
constexprdefault

◆ OwningView() [2/4]

template<concepts::Container Cont>
di::container::OwningView< Cont >::OwningView ( OwningView< Cont > const & )
constexprdelete

◆ OwningView() [3/4]

template<concepts::Container Cont>
di::container::OwningView< Cont >::OwningView ( OwningView< Cont > && )
constexprdefault

◆ OwningView() [4/4]

template<concepts::Container Cont>
di::container::OwningView< Cont >::OwningView ( Cont && container)
inlineconstexpr

Member Function Documentation

◆ base() [1/4]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::base ( ) &&->Cont &&
inlineconstexpr

◆ base() [2/4]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::base ( ) &->Cont &
inlineconstexpr

◆ base() [3/4]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::base ( ) const &&->Contconst &&
inlineconstexpr

◆ base() [4/4]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::base ( ) const &->Contconst &
inlineconstexpr

◆ begin() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::begin ( )
inlineconstexpr

◆ begin() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::begin ( ) const
inlineconstexpr

◆ data() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::data ( )
inlineconstexpr

◆ data() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::data ( ) const
inlineconstexpr

◆ empty() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::empty ( ) ->boolrequires(concepts::HasEmptyContainer< Cont >)
inlineconstexpr

◆ empty() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::empty ( ) const->boolrequires(concepts::HasEmptyContainer< Contconst >)
inlineconstexpr

◆ end() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::end ( )
inlineconstexpr

◆ end() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::end ( ) const
inlineconstexpr

◆ operator=() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::operator= ( OwningView< Cont > && ) ->OwningView &=default
constexprdefault

◆ operator=() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::operator= ( OwningView< Cont > const & ) ->OwningView &=delete
constexprdelete

◆ size() [1/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::size ( )
inlineconstexpr

◆ size() [2/2]

template<concepts::Container Cont>
auto di::container::OwningView< Cont >::size ( ) const
inlineconstexpr

◆ tag_invoke

template<concepts::Container Cont>
template<typename T, typename U>
requires (!concepts::SameAs<OwningView, Cont> && concepts::Invocable<decltype(container::reconstruct), InPlaceType<Cont>, T, U>)
friend auto tag_invoke ( types::Tag< container::reconstruct > ,
InPlaceType< OwningView< Cont > > ,
T && t,
U && u )
friend

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