Iros
 
Loading...
Searching...
No Matches
di::LinkedList< T, Alloc > Class Template Reference

#include <di/container/linked/linked_list.h>

Inheritance diagram for di::LinkedList< T, Alloc >:
[legend]

Public Member Functions

 LinkedList ()=default
 
 LinkedList (LinkedList &&)=default
 
auto operator= (LinkedList &&) -> LinkedList &=default
 
 ~LinkedList ()=default
 
constexpr auto insert (ConstIterator position, T const &value) -> Iterator requires(concepts::CopyConstructible< T >)
 
constexpr auto insert (ConstIterator position, T &&value) -> Iterator
 
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
constexpr auto emplace (ConstIterator position, Args &&... args) -> decltype(auto)
 
template<concepts::ContainerCompatible< T > Con>
constexpr auto insert_container (ConstIterator position, Con &&container)
 
constexpr auto push_back (T const &value) -> decltype(auto) requires(concepts::CopyConstructible< T >)
 
constexpr auto push_back (T &&value) -> decltype(auto)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
constexpr auto emplace_back (Args &&... args) -> decltype(auto)
 
template<concepts::ContainerCompatible< T > Con>
constexpr auto append_container (Con &&container)
 
constexpr auto pop_back () -> Optional< T >
 
constexpr auto push_front (T const &value) -> decltype(auto) requires(concepts::CopyConstructible< T >)
 
constexpr auto push_front (T &&value) -> decltype(auto)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
constexpr auto emplace_front (Args &&... args) -> decltype(auto)
 
template<concepts::ContainerCompatible< T > Con>
constexpr auto prepend_container (Con &&container)
 
constexpr auto pop_front () -> Optional< T >
 
constexpr auto allocator () -> Alloc &
 
- Public Member Functions inherited from di::container::IntrusiveList< T, detail::LinkedListTag< T >, LinkedList< T, DefaultAllocator > >
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)
 
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

template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerCompatible<Con, T>)
constexpr friend auto tag_invoke (types::Tag< util::create_in_place >, InPlaceType< LinkedList >, Con &&container)
 

Constructor & Destructor Documentation

◆ LinkedList() [1/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
di::container::LinkedList< T, Alloc >::LinkedList ( )
default

◆ LinkedList() [2/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
di::container::LinkedList< T, Alloc >::LinkedList ( LinkedList< T, Alloc > && )
default

◆ ~LinkedList()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
di::container::LinkedList< T, Alloc >::~LinkedList ( )
default

Member Function Documentation

◆ allocator()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::allocator ( ) -> Alloc&
inlineconstexpr

◆ append_container()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<concepts::ContainerCompatible< T > Con>
auto di::container::LinkedList< T, Alloc >::append_container ( Con && container)
inlineconstexpr

◆ emplace()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
auto di::container::LinkedList< T, Alloc >::emplace ( ConstIterator position,
Args &&... args ) -> decltype(auto)
inlineconstexpr

◆ emplace_back()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
auto di::container::LinkedList< T, Alloc >::emplace_back ( Args &&... args) -> decltype(auto)
inlineconstexpr

◆ emplace_front()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
auto di::container::LinkedList< T, Alloc >::emplace_front ( Args &&... args) -> decltype(auto)
inlineconstexpr

◆ insert() [1/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::insert ( ConstIterator position,
T && value ) -> Iterator
inlineconstexpr

◆ insert() [2/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::insert ( ConstIterator position,
T const & value ) -> Iterator requires(concepts::CopyConstructible<T>)
inlineconstexpr

◆ insert_container()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<concepts::ContainerCompatible< T > Con>
auto di::container::LinkedList< T, Alloc >::insert_container ( ConstIterator position,
Con && container )
inlineconstexpr

◆ operator=()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::operator= ( LinkedList< T, Alloc > && ) -> LinkedList &=default
default

◆ pop_back()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::pop_back ( ) -> Optional<T>
inlineconstexpr

◆ pop_front()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::pop_front ( ) -> Optional<T>
inlineconstexpr

◆ prepend_container()

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<concepts::ContainerCompatible< T > Con>
auto di::container::LinkedList< T, Alloc >::prepend_container ( Con && container)
inlineconstexpr

◆ push_back() [1/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::push_back ( T && value) -> decltype(auto)
inlineconstexpr

◆ push_back() [2/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::push_back ( T const & value) -> decltype(auto) requires(concepts::CopyConstructible<T>)
inlineconstexpr

◆ push_front() [1/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::push_front ( T && value) -> decltype(auto)
inlineconstexpr

◆ push_front() [2/2]

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
auto di::container::LinkedList< T, Alloc >::push_front ( T const & value) -> decltype(auto) requires(concepts::CopyConstructible<T>)
inlineconstexpr

Friends And Related Symbol Documentation

◆ tag_invoke

template<typename T, concepts::Allocator Alloc = DefaultAllocator>
template<concepts::InputContainer Con, typename... Args>
requires (concepts::ContainerCompatible<Con, T>)
friend auto tag_invoke ( types::Tag< util::create_in_place > ,
InPlaceType< LinkedList< T, Alloc > > ,
Con && container )
friend

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