LLVM: llvm::ilist_iterator_w_bits< 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 |
template<class OptionsT, bool IsReverse, bool IsConst>
class llvm::ilist_iterator_w_bits< OptionsT, IsReverse, IsConst >
Iterator for intrusive lists based on ilist_node.
Much like ilist_iterator, but with the addition of two bits recording whether this position (when in a range) is half or fully open.
Definition at line 214 of file ilist_iterator.h.
◆ const_pointer
template<class OptionsT, bool IsReverse, bool IsConst>
◆ const_reference
template<class OptionsT, bool IsReverse, bool IsConst>
◆ difference_type
template<class OptionsT, bool IsReverse, bool IsConst>
◆ iterator_category
template<class OptionsT, bool IsReverse, bool IsConst>
◆ 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>
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator_w_bits() [2/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator_w_bits() [3/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator_w_bits() [4/6]
template<class OptionsT, bool IsReverse, bool IsConst>
◆ ilist_iterator_w_bits() [5/6]
template<class OptionsT, bool IsReverse, bool IsConst>
template<bool RHSIsConst>
◆ ilist_iterator_w_bits() [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 291 of file ilist_iterator.h.
◆ getHeadBit()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ 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 300 of file ilist_iterator.h.
◆ getTailBit()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ 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>
◆ setHeadBit()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ setTailBit()
template<class OptionsT, bool IsReverse, bool IsConst>
◆ 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