Fcitx
Public Types | Public Member Functions | List of all members
fcitx::IntrusiveList< T, NodeGetter > Class Template Reference
Inheritance diagram for fcitx::IntrusiveList< T, NodeGetter >:
Inheritance graph
[legend]
Collaboration diagram for fcitx::IntrusiveList< T, NodeGetter >:
Collaboration graph
[legend]

Public Types

using value_type = T
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using reference = value_type &
 
using const_reference = const value_type &
 
using iterator = IntrusiveListIterator< T, NodeGetter, false >
 
using const_iterator = IntrusiveListIterator< T, NodeGetter, true >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using size_type = std::size_t
 

Public Member Functions

 IntrusiveList (NodeGetter nodeGetter_=NodeGetter())
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
iterator iterator_to (reference value)
 
const_iterator iterator_to (const_reference value) const
 
bool isInList (const_reference value) const
 
void push_back (reference value)
 
void pop_back ()
 
void push_front (reference value)
 
void pop_front ()
 
iterator erase (iterator pos)
 
iterator erase (iterator start, iterator end)
 
size_type size () const
 
bool empty () const
 
iterator insert (iterator pos, reference value)
 

Additional Inherited Members

- Protected Member Functions inherited from fcitx::IntrusiveListBase
 IntrusiveListBase (IntrusiveListBase &&other) noexcept
 
IntrusiveListBaseoperator= (IntrusiveListBase &&other) noexcept
 
void insertBetween (IntrusiveListNode *add, IntrusiveListNode *prev, IntrusiveListNode *next) noexcept
 
void append (IntrusiveListNode *add, IntrusiveListNode *pos) noexcept
 
void prepend (IntrusiveListNode *add, IntrusiveListNode *pos) noexcept
 
void remove (IntrusiveListNode *pos) noexcept
 
void removeAll ()
 
- Protected Attributes inherited from fcitx::IntrusiveListBase
IntrusiveListNode root_
 
std::size_t size_ = 0
 

Detailed Description

template<typename T, typename NodeGetter = IntrusiveListTrivialNodeGetter<T>>
class fcitx::IntrusiveList< T, NodeGetter >

Definition at line 167 of file intrusivelist.h.


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