|
LLVM 22.0.0git
|
A wrapper around an intrusive list with callbacks and non-intrusive ownership. More...
#include "llvm/ADT/ilist.h"
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 |
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.
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::const_iterator = typename base_list_type::const_iterator |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::const_pointer = typename base_list_type::const_pointer |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::const_reference = typename base_list_type::const_reference |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::const_reverse_iterator |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::difference_type = typename base_list_type::difference_type |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::iterator = typename base_list_type::iterator |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::pointer = typename base_list_type::pointer |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::reference = typename base_list_type::reference |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::reverse_iterator = typename base_list_type::reverse_iterator |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::size_type = typename base_list_type::size_type |
| using llvm::iplist_impl< IntrusiveListT, TraitsT >::value_type = typename base_list_type::value_type |
|
default |
Referenced by cloneFrom(), iplist_impl(), iplist_impl(), merge(), merge(), operator=(), operator=(), splice(), splice(), splice(), splice(), splice(), and swap().
|
delete |
References iplist_impl().
|
inline |
Definition at line 137 of file ilist.h.
References iplist_impl(), llvm::move(), and X.
|
inline |
|
inline |
Definition at line 246 of file ilist.h.
References erase().
Referenced by cloneFrom(), and ~iplist_impl().
|
inline |
|
inline |
Clone another list.
Definition at line 182 of file ilist.h.
References clear(), iplist_impl(), and push_back().
|
inline |
|
inline |
Definition at line 204 of file ilist.h.
References remove().
Referenced by clear(), erase(), llvm::VPRecipeBase::eraseFromParent(), pop_back(), and pop_front().
|
inline |
|
inline |
|
inline |
Get the next node, or nullptr for the list tail.
Definition at line 316 of file ilist.h.
References getNextNode(), and N.
|
inline |
Get the next node, or nullptr for the list tail.
Definition at line 309 of file ilist.h.
References N, and llvm::Next.
Referenced by getNextNode().
|
inline |
Get the previous node, or nullptr for the list head.
Definition at line 304 of file ilist.h.
References getPrevNode(), and N.
|
inline |
Get the previous node, or nullptr for the list head.
Definition at line 297 of file ilist.h.
Referenced by getPrevNode().
|
inline |
|
inline |
|
inline |
Definition at line 165 of file ilist.h.
Referenced by insert(), insert(), insertAfter(), push_back(), and push_front().
|
inline |
Definition at line 174 of file ilist.h.
References insert().
Referenced by moveFunctionAdaptingType().
|
inline |
|
inline |
Definition at line 292 of file ilist.h.
References iplist_impl(), merge(), and llvm::Right.
Referenced by merge().
|
inline |
Definition at line 286 of file ilist.h.
References iplist_impl(), and llvm::Right.
|
delete |
References iplist_impl().
|
inline |
Definition at line 140 of file ilist.h.
References iplist_impl(), and X.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 266 of file ilist.h.
References iplist_impl().
|
inline |
Definition at line 270 of file ilist.h.
References iplist_impl().
|
inline |
Definition at line 275 of file ilist.h.
References iplist_impl().
|
inline |
Definition at line 281 of file ilist.h.
References iplist_impl(), N, and splice().
|
inline |
Definition at line 278 of file ilist.h.
References iplist_impl(), N, and splice().
|
inline |
Definition at line 160 of file ilist.h.
References assert(), iplist_impl(), and RHS.