LLVM: llvm::ilist_iterator< OptionsT, IsReverse, IsConst (original) (raw)
Iterator for intrusive lists based on ilist_node. More...
#include "[llvm/ADT/ilist_iterator.h](ilist%5F%5Fiterator%5F8h%5Fsource.html)"
| 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| | |
| template<bool RHSIsConst> | |
| std::enable_if_t< IsConst| | !RHSIsConst, ilist_iterator & > |
| 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. |
template<class OptionsT, bool IsReverse, bool IsConst>
class llvm::ilist_iterator< OptionsT, IsReverse, IsConst >
Iterator for intrusive lists based on ilist_node.
Definition at line 81 of file ilist_iterator.h.
◆ const_pointer
template<class OptionsT, bool IsReverse, bool IsConst>
using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_pointer = typename OptionsT::const_pointer
◆ const_reference
template<class OptionsT, bool IsReverse, bool IsConst>
using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::const_reference = typename OptionsT::const_reference
◆ difference_type
template<class OptionsT, bool IsReverse, bool IsConst>
◆ iterator_category
template<class OptionsT, bool IsReverse, bool IsConst>
using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::iterator_category = std::bidirectional_iterator_tag
◆ pointer
template<class OptionsT, bool IsReverse, bool IsConst>
◆ reference
template<class OptionsT, bool IsReverse, bool IsConst>
◆ value_type
template<class OptionsT, bool IsReverse, bool IsConst>
using llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::value_type = typename Traits::value_type
template<class OptionsT, bool IsReverse, bool IsConst>
| llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::ilist_iterator ( node_reference N) | inlineexplicit |
|---|
◆ ilist_iterator() [2/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator() [3/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator() [4/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator() [5/6]
template<class OptionsT, bool IsReverse, bool IsConst>
template<bool RHSIsConst>
◆ ilist_iterator() [6/6]
template<class OptionsT, bool IsReverse, bool IsConst>
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.
◆ getNodePtr()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ getNonConst()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ getReverse()
template<class OptionsT, bool IsReverse, bool IsConst>
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.
◆ isEnd()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ isValid()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator*()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator++() [1/2]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator++() [2/2]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator--() [1/2]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator--() [2/2]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator->()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator=()
template<class OptionsT, bool IsReverse, bool IsConst>
template<bool RHSIsConst>
◆ operator!=
template<class OptionsT, bool IsReverse, bool IsConst>
◆ operator==
template<class OptionsT, bool IsReverse, bool IsConst>
The documentation for this class was generated from the following file:
- include/llvm/ADT/ilist_iterator.h