Iterator to walk just the phi nodes in the basic block.

Synopsis

Declared in <llvm/IR/BasicBlock.h>

template<
    typename PHINodeT = PHINode,
    typename BBIteratorT = iterator>
class phi_iterator_impl
    : public iterator_facade_base<phi_iterator_impl<PHINodeT, BBIteratorT>, std::forward_iterator_tag, PHINodeT>

Base Classes

Name

Description

iterator_facade_base<phi_iterator_impl<PHINodeT, BBIteratorT>, std::forward_iterator_tag, PHINodeT>

CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface.

Type Aliases

Name

Description

difference_type

Signed type used to express the distance between iterators.

iterator_category

Iterator category tag for this facade.

pointer

Pointer type returned by the iterator.

reference

Reference type returned by the iterator.

value_type

Value type produced by the iterator.

Enums

Name

Description

Unnamed enum

Capability flags for the iterator category.

Member Functions

Name

Description

phi_iterator_impl [constructor]

Constructors

operator*

operator+

Advance the iterator by n and return the result.

operator++

Post‐increment the iterator and return the previous value.

operator‐

Retreat the iterator by n and return the result.

operator‐‐

Decrement operators

operator‐>

Return a proxy pointer to the current element.

operator[]

Return a proxy to the element at offset n.

operator==

Equality operator

operator<=

Return true if this iterator is less than or equal to RHS.

operator>

Return true if this iterator is greater than RHS.

operator>=

Return true if this iterator is greater than or equal to RHS.

Using Declarations

Name

operator++

Protected Types

Name

Description

PointerProxy

Proxy that yields a pointer from a copied reference.

ReferenceProxy

Proxy that yields a reference from a copied iterator.

Friends

Name

Description

llvm::BasicBlock

LLVM Basic Block Representation

Created with MrDocs