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

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

Public Member Functions

constexpr IntrusiveList ()
 
 IntrusiveList (IntrusiveList const &)=delete
 
constexpr IntrusiveList (IntrusiveList &&other)
 
auto operator= (IntrusiveList const &) -> IntrusiveList &=delete
 
constexpr auto operator= (IntrusiveList &&other) -> IntrusiveList &
 
constexpr ~IntrusiveList ()
 
constexpr auto empty () const -> bool
 
constexpr auto size () const -> usize requires(is_sized)
 
constexpr auto max_size () const -> usize
 
constexpr auto begin () -> Iterator
 
constexpr auto begin () const -> Iterator
 
constexpr auto end () -> Iterator
 
constexpr auto end () const -> Iterator
 
constexpr auto front ()
 
constexpr auto front () const
 
constexpr auto back ()
 
constexpr auto back () const
 
constexpr void push_back (Node &node)
 
constexpr void push_front (Node &node)
 
constexpr auto pop_front ()
 
constexpr auto pop_back ()
 
constexpr void clear ()
 
constexpr auto insert (ConstIterator position, Node &node_ref) -> Iterator
 
constexpr auto erase (ConstIterator position) -> Iterator
 
constexpr auto erase (ConstIterator first, ConstIterator last) -> Iterator
 
constexpr void splice (ConstIterator position, IntrusiveList &other)
 
constexpr void splice (ConstIterator position, IntrusiveList &&other)
 
constexpr void splice (ConstIterator position, IntrusiveList &other, ConstIterator it)
 
constexpr void splice (ConstIterator position, IntrusiveList &&other, ConstIterator it)
 
constexpr void splice (ConstIterator position, IntrusiveList &other, ConstIterator first, ConstIterator last)
 
constexpr void splice (ConstIterator position, IntrusiveList &&other, ConstIterator first, ConstIterator last)
 

Friends

constexpr friend auto operator== (IntrusiveList const &a, IntrusiveList const &b) -> bool requires(concepts::EqualityComparable< T >)
 
constexpr friend auto operator<=> (IntrusiveList const &a, IntrusiveList const &b)
 
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

◆ IntrusiveList() [1/3]

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

◆ IntrusiveList() [2/3]

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

◆ IntrusiveList() [3/3]

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

◆ ~IntrusiveList()

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

Member Function Documentation

◆ back() [1/2]

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

◆ back() [2/2]

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

◆ begin() [1/2]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::begin ( ) -> Iterator
inlineconstexpr

◆ begin() [2/2]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::begin ( ) const -> Iterator
inlineconstexpr

◆ clear()

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

◆ empty()

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

◆ end() [1/2]

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

◆ end() [2/2]

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

◆ erase() [1/2]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::erase ( ConstIterator first,
ConstIterator last ) -> Iterator
inlineconstexpr

◆ erase() [2/2]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::erase ( ConstIterator position) -> Iterator
inlineconstexpr

◆ front() [1/2]

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

◆ front() [2/2]

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

◆ insert()

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

◆ max_size()

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ pop_back()

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::pop_back ( )
inlineconstexpr

◆ pop_front()

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
auto di::container::IntrusiveList< T, Tag, Self >::pop_front ( )
inlineconstexpr

◆ push_back()

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

◆ push_front()

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

◆ size()

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

◆ splice() [1/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > && other )
inlineconstexpr

◆ splice() [2/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > && other,
ConstIterator first,
ConstIterator last )
inlineconstexpr

◆ splice() [3/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > && other,
ConstIterator it )
inlineconstexpr

◆ splice() [4/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > & other )
inlineconstexpr

◆ splice() [5/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > & other,
ConstIterator first,
ConstIterator last )
inlineconstexpr

◆ splice() [6/6]

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
void di::container::IntrusiveList< T, Tag, Self >::splice ( ConstIterator position,
IntrusiveList< T, Tag, Self > & other,
ConstIterator it )
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator<=>

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
friend auto operator<=> ( IntrusiveList< T, Tag, Self > const & a,
IntrusiveList< T, Tag, Self > const & b )
friend

◆ operator==

template<typename T, typename Tag = DefaultIntrusiveListTag, typename Self = Void>
friend auto operator== ( IntrusiveList< T, Tag, Self > const & a,
IntrusiveList< T, Tag, Self > const & b ) -> bool requires(concepts::EqualityComparable<T>)
friend

◆ tag_invoke

template<typename T, typename Tag = DefaultIntrusiveListTag, 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: