LLVM 22.0.0git
|
A wrapper around an intrusive list with callbacks and non-intrusive ownership. More...
#include "llvm/ADT/ilist.h"
Public Types | |
typedef base_list_type::pointer | pointer |
typedef base_list_type::const_pointer | const_pointer |
typedef base_list_type::reference | reference |
typedef base_list_type::const_reference | const_reference |
typedef base_list_type::value_type | value_type |
typedef base_list_type::size_type | size_type |
typedef base_list_type::difference_type | difference_type |
typedef base_list_type::iterator | iterator |
typedef base_list_type::const_iterator | const_iterator |
typedef base_list_type::reverse_iterator | reverse_iterator |
typedef base_list_type::const_reverse_iterator | 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.
typedef base_list_type::const_iterator llvm::iplist_impl< IntrusiveListT, TraitsT >::const_iterator |
typedef base_list_type::const_pointer llvm::iplist_impl< IntrusiveListT, TraitsT >::const_pointer |
typedef base_list_type::const_reference llvm::iplist_impl< IntrusiveListT, TraitsT >::const_reference |
typedef base_list_type::const_reverse_iterator llvm::iplist_impl< IntrusiveListT, TraitsT >::const_reverse_iterator |
typedef base_list_type::difference_type llvm::iplist_impl< IntrusiveListT, TraitsT >::difference_type |
typedef base_list_type::iterator llvm::iplist_impl< IntrusiveListT, TraitsT >::iterator |
typedef base_list_type::pointer llvm::iplist_impl< IntrusiveListT, TraitsT >::pointer |
typedef base_list_type::reference llvm::iplist_impl< IntrusiveListT, TraitsT >::reference |
typedef base_list_type::reverse_iterator llvm::iplist_impl< IntrusiveListT, TraitsT >::reverse_iterator |
typedef base_list_type::size_type llvm::iplist_impl< IntrusiveListT, TraitsT >::size_type |
typedef base_list_type::value_type llvm::iplist_impl< IntrusiveListT, TraitsT >::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.