Iros
 
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 >:
[legend]

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 auto empty () const -> bool requires(concepts::SizedContainer< RefView< Cont > const >||concepts::ForwardContainer< RefView< Cont > const >)
 
constexpr operator bool ()
 
constexpr operator bool () const
 
constexpr auto cbegin ()
 
constexpr auto cbegin () const
 
constexpr auto cend ()
 
constexpr auto cend () const
 
constexpr auto data ()
 
constexpr auto data () const
 
constexpr auto size ()
 
constexpr auto size () const
 
constexpr auto front ()
 
constexpr auto front () const
 
constexpr auto back ()
 
constexpr auto back () const
 
constexpr auto operator[] (meta::ContainerSSizeType< Cont > n) -> decltype(auto)
 
constexpr auto operator[] (meta::ContainerSSizeType< Cont > n) const -> decltype(auto)
 
constexpr auto at (meta::ContainerSSizeType< Cont > n) -> Optional< meta::ContainerReference< Cont > >
 
constexpr auto at (meta::ContainerSSizeType< Cont > n) const -> 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>
static constexpr void di::container::RefView< Cont >::delete_rvalues ( X && )
staticconstexprdelete

◆ empty()

template<concepts::Container Cont>
auto di::container::RefView< Cont >::empty ( ) const -> bool requires(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

Friends And Related Symbol Documentation

◆ 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: