LLVM: llvm::iplist_impl< IntrusiveListT, TraitsT > Class Template Reference (original) (raw)
A wrapper around an intrusive list with callbacks and non-intrusive ownership. More...
#include "[llvm/ADT/ilist.h](ilist%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | pointer = typename base_list_type::pointer |
| using | const_pointer = typename base_list_type::const_pointer |
| using | reference = typename base_list_type::reference |
| using | const_reference = typename base_list_type::const_reference |
| using | value_type = typename base_list_type::value_type |
| using | size_type = typename base_list_type::size_type |
| using | difference_type = typename base_list_type::difference_type |
| using | iterator = typename base_list_type::iterator |
| using | const_iterator = typename base_list_type::const_iterator |
| using | reverse_iterator = typename base_list_type::reverse_iterator |
| using | const_reverse_iterator |
template<class IntrusiveListT, class TraitsT>
class llvm::iplist_impl< IntrusiveListT, TraitsT >
A wrapper around an intrusive list with callbacks and non-intrusive ownership.
This wraps a purely intrusive list (like simple_ilist) with a configurable traits class. The traits can implement callbacks and customize the ownership semantics.
This is a subset of ilist functionality that can safely be used on nodes of polymorphic types, i.e. a heterogeneous list with a common base class that holds the next/prev pointers. The only state of the list itself is an ilist_sentinel, which holds pointers to the first and last nodes in the list.
Definition at line 110 of file ilist.h.
◆ const_iterator
◆ const_pointer
◆ const_reference
◆ const_reverse_iterator
Initial value:
typename base_list_type::const_reverse_iterator
Definition at line 124 of file ilist.h.
◆ difference_type
◆ iterator
◆ pointer
◆ reverse_iterator
◆ size_type
◆ value_type
◆ iplist_impl() [1/3]
Referenced by cloneFrom(), iplist_impl(), iplist_impl(), merge(), merge(), operator=(), operator=(), splice(), splice(), splice(), splice(), splice(), and swap().
◆ iplist_impl() [2/3]
References iplist_impl().
◆ iplist_impl() [3/3]
◆ ~iplist_impl()
◆ clear()
◆ clearAndLeakNodesUnsafely()
Remove all nodes from the list like clear(), but do not call removeNodeFromList() or deleteNode().
This should only be used immediately before freeing nodes in bulk to avoid traversing the list and bringing all the nodes into cache.
Definition at line 217 of file ilist.h.
◆ cloneFrom()
◆ erase() [1/4]
◆ erase() [2/4]
◆ erase() [3/4]
◆ erase() [4/4]
◆ getNextNode() [1/2]
Get the next node, or nullptr for the list tail.
Definition at line 316 of file ilist.h.
References getNextNode(), and N.
◆ getNextNode() [2/2]
◆ getPrevNode() [1/2]
Get the previous node, or nullptr for the list head.
Definition at line 304 of file ilist.h.
References getPrevNode(), and N.
◆ getPrevNode() [2/2]
Get the previous node, or nullptr for the list head.
Definition at line 297 of file ilist.h.
Referenced by getPrevNode().
◆ insert() [1/3]
◆ insert() [2/3]
◆ insert() [3/3]
◆ insertAfter()
◆ max_size()
◆ merge() [1/2]
◆ merge() [2/2]
◆ operator=() [1/2]
References iplist_impl().
◆ operator=() [2/2]
◆ pop_back()
◆ pop_front()
◆ push_back()
◆ push_front()
◆ remove() [1/4]
◆ remove() [2/4]
◆ remove() [3/4]
◆ remove() [4/4]
◆ splice() [1/5]
◆ splice() [2/5]
◆ splice() [3/5]
◆ splice() [4/5]
◆ splice() [5/5]
◆ swap()
The documentation for this class was generated from the following file:
- include/llvm/ADT/ilist.h