|
LLVM
4.0.0
|
Iterator for intrusive lists based on ilist_node. More...
#include <ilist_iterator.h>
Public Types | |
| typedef Traits::value_type | value_type |
| typedef Traits::pointer | pointer |
| typedef Traits::reference | reference |
| typedef ptrdiff_t | difference_type |
| typedef std::bidirectional_iterator_tag | iterator_category |
| typedef OptionsT::const_pointer | const_pointer |
| typedef OptionsT::const_reference | const_reference |
Public Member Functions | |
| ilist_iterator (node_reference N) | |
| Create from an ilist_node. More... | |
| ilist_iterator (pointer NP) | |
| ilist_iterator (reference NR) | |
| ilist_iterator () | |
| template<bool RHSIsConst> | |
| ilist_iterator (const ilist_iterator< OptionsT, IsReverse, RHSIsConst > &RHS, typename std::enable_if< IsConst||!RHSIsConst, void * >::type=nullptr) | |
| template<bool RHSIsConst> | |
| std::enable_if< IsConst||!RHSIsConst, ilist_iterator & >::type | operator= (const ilist_iterator< OptionsT, IsReverse, RHSIsConst > &RHS) |
| ilist_iterator (const ilist_iterator< OptionsT,!IsReverse, IsConst > &RHS) | |
| Explicit conversion between forward/reverse iterators. More... | |
| ilist_iterator< OptionsT,!IsReverse, IsConst > | getReverse () const |
| Get a reverse iterator to the same node. More... | |
| ilist_iterator< OptionsT, IsReverse, false > | getNonConst () const |
| Const-cast. More... | |
| reference | operator* () const |
| pointer | operator-> () const |
| ilist_iterator & | operator-- () |
| ilist_iterator & | operator++ () |
| ilist_iterator | operator-- (int) |
| ilist_iterator | operator++ (int) |
| node_pointer | getNodePtr () const |
| Get the underlying ilist_node. More... | |
| bool | isEnd () const |
| Check for end. Only valid if ilist_sentinel_tracking<true>. More... | |
Friends | |
| bool | operator== (const ilist_iterator &LHS, const ilist_iterator &RHS) |
| bool | operator!= (const ilist_iterator &LHS, const ilist_iterator &RHS) |
Iterator for intrusive lists based on ilist_node.
Definition at line 56 of file ilist_iterator.h.
| typedef OptionsT::const_pointer llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_pointer |
Definition at line 71 of file ilist_iterator.h.
| typedef OptionsT::const_reference llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_reference |
Definition at line 72 of file ilist_iterator.h.
| typedef ptrdiff_t llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::difference_type |
Definition at line 68 of file ilist_iterator.h.
| typedef std::bidirectional_iterator_tag llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::iterator_category |
Definition at line 69 of file ilist_iterator.h.
| typedef Traits::pointer llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::pointer |
Definition at line 66 of file ilist_iterator.h.
| typedef Traits::reference llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::reference |
Definition at line 67 of file ilist_iterator.h.
| typedef Traits::value_type llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::value_type |
Definition at line 65 of file ilist_iterator.h.
|
inlineexplicit |
Create from an ilist_node.
Definition at line 82 of file ilist_iterator.h.
|
inlineexplicit |
Definition at line 84 of file ilist_iterator.h.
|
inlineexplicit |
Definition at line 85 of file ilist_iterator.h.
|
inline |
Definition at line 86 of file ilist_iterator.h.
|
inline |
Definition at line 91 of file ilist_iterator.h.
|
inlineexplicit |
Explicit conversion between forward/reverse iterators.
Translate between forward and reverse iterators without changing range boundaries. The resulting iterator will dereference (and have a handle) to the previous node, which is somewhat unexpected; but converting the two endpoints in a range will give the same range in reverse.
This matches std::reverse_iterator conversions.
Definition at line 113 of file ilist_iterator.h.
|
inline |
Get the underlying ilist_node.
Definition at line 173 of file ilist_iterator.h.
Referenced by llvm::simple_ilist< MachineBasicBlock, Options...>::erase(), llvm::simple_ilist< MachineBasicBlock, Options...>::insert(), and llvm::simple_ilist< MachineBasicBlock, Options...>::splice().
|
inline |
|
inline |
Get a reverse iterator to the same node.
Gives a reverse iterator that will dereference (and have a handle) to the same node. Converting the endpoint iterators in a range will give a different range; for range operations, use the explicit conversions.
Definition at line 122 of file ilist_iterator.h.
Referenced by findLiveSetAtInst(), and llvm::slpvectorizer::BoUpSLP::getSpillCost().
|
inline |
Check for end. Only valid if ilist_sentinel_tracking<true>.
Definition at line 176 of file ilist_iterator.h.
|
inline |
Definition at line 138 of file ilist_iterator.h.
References assert(), and llvm::ilist_detail::SpecificNodeAccess< OptionsT >::getValuePtr().
Referenced by llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::operator->().
|
inline |
Definition at line 157 of file ilist_iterator.h.
|
inline |
Definition at line 166 of file ilist_iterator.h.
|
inline |
Definition at line 153 of file ilist_iterator.h.
|
inline |
Definition at line 161 of file ilist_iterator.h.
|
inline |
Definition at line 142 of file ilist_iterator.h.
References llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::operator*().
|
inline |
Definition at line 100 of file ilist_iterator.h.
|
friend |
Definition at line 148 of file ilist_iterator.h.
|
friend |
Definition at line 145 of file ilist_iterator.h.
1.8.6