di 0.1.0
Loading...
Searching...
No Matches
di::container::SplitView< View, Pattern > Class Template Reference

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

Inheritance diagram for di::container::SplitView< View, Pattern >:
di::container::ViewInterface< SplitView< View, Pattern > > di::meta::EnableView< SplitView< View, Pattern > >

Public Member Functions

 SplitView ()=default
constexpr SplitView (View base, Pattern pattern)
template<concepts::InputContainer Con>
requires (concepts::ConstructibleFrom<View, meta::AsView<Con>> && concepts::ConstructibleFrom<Pattern, SingleView<meta::ContainerValue<Con>>>)
constexpr SplitView (Con &&container, meta::ContainerValue< Con > value)
constexpr auto base () const &-> View requires(concepts::CopyConstructible< View >)
constexpr auto base () &&-> View
constexpr auto begin () -> Iterator
constexpr auto end ()
Public Member Functions inherited from di::container::ViewInterface< SplitView< View, Pattern > >
constexpr auto empty () -> bool requires(concepts::SizedContainer< SplitView< View, Pattern > >||concepts::ForwardContainer< SplitView< View, Pattern > >)
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

struct Sentinel
struct Iterator

Constructor & Destructor Documentation

◆ SplitView() [1/3]

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
di::container::SplitView< View, Pattern >::SplitView ( )
default

◆ SplitView() [2/3]

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
di::container::SplitView< View, Pattern >::SplitView ( View base,
Pattern pattern )
inlineconstexpr

◆ SplitView() [3/3]

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
template<concepts::InputContainer Con>
requires (concepts::ConstructibleFrom<View, meta::AsView<Con>> && concepts::ConstructibleFrom<Pattern, SingleView<meta::ContainerValue<Con>>>)
di::container::SplitView< View, Pattern >::SplitView ( Con && container,
meta::ContainerValue< Con > value )
inlineconstexpr

Member Function Documentation

◆ base() [1/2]

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
auto di::container::SplitView< View, Pattern >::base ( ) &&->View
inlineconstexpr

◆ base() [2/2]

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
auto di::container::SplitView< View, Pattern >::base ( ) const &->Viewrequires(concepts::CopyConstructible< View >)
inlineconstexpr

◆ begin()

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
auto di::container::SplitView< View, Pattern >::begin ( ) ->Iterator
inlineconstexpr

◆ end()

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
auto di::container::SplitView< View, Pattern >::end ( )
inlineconstexpr

◆ Iterator

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
friend struct Iterator
friend

◆ Sentinel

template<concepts::ForwardContainer View, concepts::ForwardContainer Pattern>
friend struct Sentinel
friend

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