llvm::ilist_iterator

Iterator for intrusive lists based on ilist_node.

Synopsis

Declared in <llvm/ADT/ilist_iterator.h>

template<
    class OptionsT,
    bool IsReverse,
    bool IsConst>
class ilist_iterator
    : public ilist_detail::iterator_parent_access<ilist_iterator<OptionsT, IsReverse, IsConst>, OptionsT::parent_ty, IsConst>

Base Classes

NameDescription
ilist_detail::iterator_parent_access<ilist_iterator<OptionsT, IsReverse, IsConst>, OptionsT::parent_ty, IsConst>Mixin class used to add a getNodeParent() function to iterators iff the list uses ilist_parent, calling through to the node's getParent(). For more details see ilist_node.

Type Aliases

NameDescription
const_pointer Const pointer to a list element.
const_reference Const reference to a list element.
difference_type Signed distance between iterators.
iterator_category Bidirectional traversal category.
pointer Mutable or const pointer to a list element.
reference Mutable or const reference to a list element.
value_type Element type referred to by this iterator.

Member Functions

NameDescription
ilist_iterator [constructor]Constructors
operator= Assign from another iterator, allowing non-const to const conversion.
getNodePtr Get the underlying ilist_node.
getNonConst Const-cast.
getReverse Get a reverse iterator to the same node.
isEnd Check for end. Only valid if ilist_sentinel_tracking<true>.
isValid Return true if this iterator points at a node (not a default-constructed null).
operator* Dereference to the list element at this position.
operator++ Increment operators
operator-- Decrement operators
operator-> Member access for the list element at this position.

Friends

NameDescription
llvm::operator!=Return true if LHS and RHS refer to different nodes.
llvm::operator==Return true if LHS and RHS refer to the same node.
llvm::ilist_detail::iterator_parent_accessMixin class used to add a getNodeParent() function to iterators iff the list uses ilist_parent, calling through to the node's getParent(). For more details see ilist_node.
llvm::ilist_iteratorIterator for intrusive lists based on ilist_node.