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

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

Inheritance diagram for di::container::RefView< Cont >:
di::container::ViewInterface< RefView< Cont > > di::meta::EnableBorrowedContainer< RefView< Cont > > di::meta::EnableView< RefView< Cont > >

Public Member Functions

template<typename T>
requires (!concepts::DecaySameAs<T, RefView> && requires { delete_rvalues(util::declval<T>()); })
constexpr RefView (T &&container)
constexpr auto base () const -> Cont &
constexpr auto begin () const
constexpr auto end () const
constexpr auto empty () const -> bool requires(concepts::HasEmptyContainer< Cont >)
constexpr auto size () const
constexpr auto data () const
Public Member Functions inherited from di::container::ViewInterface< RefView< Cont > >
constexpr auto empty () -> bool requires(concepts::SizedContainer< RefView< Cont > >||concepts::ForwardContainer< RefView< 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 > >

Static Public Member Functions

template<typename X>
static constexpr void delete_rvalues (X &&)=delete

Friends

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

Constructor & Destructor Documentation

◆ RefView()

template<concepts::Container Cont>
template<typename T>
requires (!concepts::DecaySameAs<T, RefView> && requires { delete_rvalues(util::declval<T>()); })
di::container::RefView< Cont >::RefView ( T && container)
inlineconstexpr

Member Function Documentation

◆ base()

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

◆ begin()

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

◆ data()

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

◆ delete_rvalues()

template<concepts::Container Cont>
template<typename X>
constexpr void di::container::RefView< Cont >::delete_rvalues ( X && )
staticconstexprdelete

◆ empty()

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

◆ end()

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

◆ size()

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

◆ tag_invoke

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

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