Iros
 
Loading...
Searching...
No Matches
di::IntrusiveForwardList< T, Tag, Self > Class Template Reference

#include <di/container/intrusive/forward_list.h>

Public Member Functions

constexpr IntrusiveForwardList ()
 
 IntrusiveForwardList (IntrusiveForwardList const &)=delete
 
constexpr IntrusiveForwardList (IntrusiveForwardList &&other)
 
auto operator= (IntrusiveForwardList const &) -> IntrusiveForwardList &=delete
 
constexpr auto operator= (IntrusiveForwardList &&other) -> IntrusiveForwardList &
 
constexpr ~IntrusiveForwardList ()
 
constexpr auto empty () const -> bool
 
constexpr auto size () const -> usize requires(is_sized)
 
constexpr auto max_size () const -> usize
 
constexpr auto before_begin () -> Iterator
 
constexpr auto before_begin () const -> ConstIterator
 
constexpr auto begin ()
 
constexpr auto begin () const
 
constexpr auto end () -> Iterator
 
constexpr auto end () const -> ConstIterator
 
constexpr auto before_end () -> Iterator requires(store_tail)
 
constexpr auto before_end () const -> ConstIterator requires(store_tail)
 
constexpr auto front ()
 
constexpr auto front () const
 
constexpr auto back ()
 
constexpr auto back () const
 
constexpr void push_front (Node &node)
 
constexpr void push_back (Node &node)
 
constexpr auto pop_front () -> Optional< T & >
 
constexpr void clear ()
 
constexpr auto insert_after (ConstIterator position, Node &node_ref) -> Iterator
 
constexpr auto erase_after (ConstIterator position) -> Iterator
 
constexpr auto erase_after (ConstIterator first, ConstIterator last) -> Iterator
 

Friends

template<typename F>
requires (concepts::Predicate<F&, T const&>)
constexpr friend auto tag_invoke (di::Tag< erase_if >, ConcreteSelf &self, F &&function) -> usize
 

Constructor & Destructor Documentation

◆ IntrusiveForwardList() [1/3]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
di::container::IntrusiveForwardList< T, Tag, Self >::IntrusiveForwardList ( )
inlineconstexpr

◆ IntrusiveForwardList() [2/3]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
di::container::IntrusiveForwardList< T, Tag, Self >::IntrusiveForwardList ( IntrusiveForwardList< T, Tag, Self > const & )
delete

◆ IntrusiveForwardList() [3/3]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
di::container::IntrusiveForwardList< T, Tag, Self >::IntrusiveForwardList ( IntrusiveForwardList< T, Tag, Self > && other)
inlineconstexpr

◆ ~IntrusiveForwardList()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
di::container::IntrusiveForwardList< T, Tag, Self >::~IntrusiveForwardList ( )
inlineconstexpr

Member Function Documentation

◆ back() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::back ( )
inlineconstexpr

◆ back() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::back ( ) const
inlineconstexpr

◆ before_begin() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::before_begin ( ) -> Iterator
inlineconstexpr

◆ before_begin() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::before_begin ( ) const -> ConstIterator
inlineconstexpr

◆ before_end() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::before_end ( ) -> Iterator requires(store_tail)
inlineconstexpr

◆ before_end() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::before_end ( ) const -> ConstIterator requires(store_tail)
inlineconstexpr

◆ begin() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::begin ( )
inlineconstexpr

◆ begin() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::begin ( ) const
inlineconstexpr

◆ clear()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
void di::container::IntrusiveForwardList< T, Tag, Self >::clear ( )
inlineconstexpr

◆ empty()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::empty ( ) const -> bool
inlineconstexpr

◆ end() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::end ( ) -> Iterator
inlineconstexpr

◆ end() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::end ( ) const -> ConstIterator
inlineconstexpr

◆ erase_after() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::erase_after ( ConstIterator first,
ConstIterator last ) -> Iterator
inlineconstexpr

◆ erase_after() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::erase_after ( ConstIterator position) -> Iterator
inlineconstexpr

◆ front() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::front ( )
inlineconstexpr

◆ front() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::front ( ) const
inlineconstexpr

◆ insert_after()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::insert_after ( ConstIterator position,
Node & node_ref ) -> Iterator
inlineconstexpr

◆ max_size()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::max_size ( ) const -> usize
inlineconstexpr

◆ operator=() [1/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::operator= ( IntrusiveForwardList< T, Tag, Self > && other) -> IntrusiveForwardList&
inlineconstexpr

◆ operator=() [2/2]

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::operator= ( IntrusiveForwardList< T, Tag, Self > const & ) -> IntrusiveForwardList &=delete
delete

◆ pop_front()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::pop_front ( ) -> Optional<T&>
inlineconstexpr

◆ push_back()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
void di::container::IntrusiveForwardList< T, Tag, Self >::push_back ( Node & node)
inlineconstexpr

◆ push_front()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
void di::container::IntrusiveForwardList< T, Tag, Self >::push_front ( Node & node)
inlineconstexpr

◆ size()

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
auto di::container::IntrusiveForwardList< T, Tag, Self >::size ( ) const -> usize requires(is_sized)
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke

template<typename T, typename Tag = DefaultIntrusiveForwardListTag, typename Self = Void>
template<typename F>
requires (concepts::Predicate<F&, T const&>)
friend auto tag_invoke ( di::Tag< erase_if > ,
ConcreteSelf & self,
F && function ) -> usize
friend

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