llvm::location_op_iterator

Bidirectional iterator over debug-info location operands.

Synopsis

Declared in <llvm/IR/IntrinsicInst.h>

class location_op_iterator
    : public iterator_facade_base<location_op_iterator, std::bidirectional_iterator_tag, Value*>

Description

Iterates ValueAsMetadata either as a single pointer or as a pointer to an array of ValueAsMetadata*, dereferencing to the underlying Value*.

Base Classes

NameDescription
iterator_facade_base<location_op_iterator, std::bidirectional_iterator_tag, Value*>CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface.

Type Aliases

NameDescription
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

NameDescription
Unnamed enum Capability flags for the iterator category.

Member Functions

NameDescription
location_op_iterator [constructor]Constructors
operator= Copy-assign a location operand iterator.
operator* Dereference operators
operator+ Advance the iterator by n and return the result.
operator++ Increment operators
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== Return true if both iterators refer to the same location.
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.

Protected Types

NameDescription
PointerProxy Proxy that yields a pointer from a copied reference.
ReferenceProxy Proxy that yields a reference from a copied iterator.

Non-Member Functions

NameDescription
operator+Return an iterator n positions after i.