|
LLVM 22.0.0git
|
Iterator for intrusive lists based on ilist_node. More...
#include "llvm/ADT/ilist_iterator.h"
Public Types | |
| using | value_type = typename Traits::value_type |
| using | pointer = typename Traits::pointer |
| using | reference = typename Traits::reference |
| using | difference_type = ptrdiff_t |
| using | iterator_category = std::bidirectional_iterator_tag |
| using | const_pointer = typename OptionsT::const_pointer |
| using | const_reference = typename OptionsT::const_reference |
Public Member Functions | |
| ilist_iterator (node_reference N) | |
| Create from an ilist_node. | |
| ilist_iterator (pointer NP) | |
| ilist_iterator (reference NR) | |
| ilist_iterator ()=default | |
| template<bool RHSIsConst> | |
| ilist_iterator (const ilist_iterator< OptionsT, IsReverse, RHSIsConst > &RHS, std::enable_if_t< IsConst||!RHSIsConst, void * >=nullptr) | |
| template<bool RHSIsConst> | |
| std::enable_if_t< IsConst||!RHSIsConst, ilist_iterator & > | operator= (const ilist_iterator< OptionsT, IsReverse, RHSIsConst > &RHS) |
| ilist_iterator (const ilist_iterator< OptionsT, !IsReverse, IsConst > &RHS) | |
| Explicit conversion between forward/reverse iterators. | |
| ilist_iterator< OptionsT, !IsReverse, IsConst > | getReverse () const |
| Get a reverse iterator to the same node. | |
| ilist_iterator< OptionsT, IsReverse, false > | getNonConst () const |
| Const-cast. | |
| reference | operator* () const |
| pointer | operator-> () const |
| ilist_iterator & | operator-- () |
| ilist_iterator & | operator++ () |
| ilist_iterator | operator-- (int) |
| ilist_iterator | operator++ (int) |
| bool | isValid () const |
| node_pointer | getNodePtr () const |
| Get the underlying ilist_node. | |
| bool | isEnd () const |
| Check for end. Only valid if ilist_sentinel_tracking<true>. | |
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 81 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_pointer = typename OptionsT::const_pointer |
Definition at line 101 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_reference = typename OptionsT::const_reference |
Definition at line 102 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::difference_type = ptrdiff_t |
Definition at line 99 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::iterator_category = std::bidirectional_iterator_tag |
Definition at line 100 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::pointer = typename Traits::pointer |
Definition at line 97 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::reference = typename Traits::reference |
Definition at line 98 of file ilist_iterator.h.
| using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::value_type = typename Traits::value_type |
Definition at line 96 of file ilist_iterator.h.
|
inlineexplicit |
Create from an ilist_node.
Definition at line 112 of file ilist_iterator.h.
|
inlineexplicit |
Definition at line 114 of file ilist_iterator.h.
|
inlineexplicit |
Definition at line 115 of file ilist_iterator.h.
|
default |
|
inline |
Definition at line 121 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 142 of file ilist_iterator.h.
|
inline |
Get the underlying ilist_node.
Definition at line 204 of file ilist_iterator.h.
|
inline |
Const-cast.
Definition at line 158 of file ilist_iterator.h.
|
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 151 of file ilist_iterator.h.
|
inline |
Check for end. Only valid if ilist_sentinel_tracking<true>.
Definition at line 207 of file ilist_iterator.h.
|
inline |
Definition at line 201 of file ilist_iterator.h.
|
inline |
Definition at line 167 of file ilist_iterator.h.
Referenced by llvm::ilist_iterator< OptionsT, false, IsConst >::operator->().
|
inline |
Definition at line 186 of file ilist_iterator.h.
|
inline |
Definition at line 195 of file ilist_iterator.h.
|
inline |
Definition at line 182 of file ilist_iterator.h.
|
inline |
Definition at line 190 of file ilist_iterator.h.
|
inline |
Definition at line 171 of file ilist_iterator.h.
|
inline |
Definition at line 129 of file ilist_iterator.h.
|
friend |
Definition at line 177 of file ilist_iterator.h.
|
friend |
Definition at line 174 of file ilist_iterator.h.