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

Name

Description

ilist_detail::iterator_parent_access<ilist_iterator<OptionsT, IsReverse, IsConst>, OptionsT::parent_ty, IsConst>

Mixin that exposes getNodeParent() when the list uses ilist_parent.

Type Aliases

Name

Description

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

Name

Description

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

Name

Description

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_access

Mixin that exposes getNodeParent() when the list uses ilist_parent.

llvm::ilist_iterator

Iterator for intrusive lists based on ilist_node.

Created with MrDocs