LLVM 22.0.0git
llvm::DIExpression::expr_op_iterator Class Reference

An iterator for expression operands. More...

#include "llvm/IR/DebugInfoMetadata.h"

Public Types

using iterator_category = std::input_iterator_tag
using value_type = ExprOperand
using difference_type = std::ptrdiff_t
using pointer = value_type *
using reference = value_type &

Public Member Functions

 expr_op_iterator ()=default
 expr_op_iterator (element_iterator I)
element_iterator getBase () const
const ExprOperandoperator* () const
const ExprOperandoperator-> () const
expr_op_iteratoroperator++ ()
expr_op_iterator operator++ (int)
expr_op_iterator getNext () const
 Get the next iterator.
bool operator== (const expr_op_iterator &X) const
bool operator!= (const expr_op_iterator &X) const

Detailed Description

An iterator for expression operands.

Definition at line 3388 of file DebugInfoMetadata.h.

Member Typedef Documentation

◆ difference_type

Definition at line 3394 of file DebugInfoMetadata.h.

◆ iterator_category

Definition at line 3392 of file DebugInfoMetadata.h.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ expr_op_iterator() [1/2]

llvm::DIExpression::expr_op_iterator::expr_op_iterator ( )
default

◆ expr_op_iterator() [2/2]

llvm::DIExpression::expr_op_iterator::expr_op_iterator ( element_iterator I)
inlineexplicit

Definition at line 3399 of file DebugInfoMetadata.h.

References I.

Member Function Documentation

◆ getBase()

element_iterator llvm::DIExpression::expr_op_iterator::getBase ( ) const
inline

Definition at line 3401 of file DebugInfoMetadata.h.

Referenced by operator!=(), and operator==().

◆ getNext()

expr_op_iterator llvm::DIExpression::expr_op_iterator::getNext ( ) const
inline

Get the next iterator.

std::next() doesn't work because this is technically an input_iterator, but it's a perfectly valid operation. This is an accessor to provide the same functionality.

Definition at line 3420 of file DebugInfoMetadata.h.

References expr_op_iterator().

Referenced by llvm::DIExpressionCursor::peekNextN().

◆ operator!=()

bool llvm::DIExpression::expr_op_iterator::operator!= ( const expr_op_iterator & X) const
inline

Definition at line 3425 of file DebugInfoMetadata.h.

References expr_op_iterator(), getBase(), and X.

◆ operator*()

const ExprOperand & llvm::DIExpression::expr_op_iterator::operator* ( ) const
inline

Definition at line 3402 of file DebugInfoMetadata.h.

◆ operator++() [1/2]

expr_op_iterator & llvm::DIExpression::expr_op_iterator::operator++ ( )
inline

Definition at line 3405 of file DebugInfoMetadata.h.

References expr_op_iterator().

◆ operator++() [2/2]

expr_op_iterator llvm::DIExpression::expr_op_iterator::operator++ ( int )
inline

Definition at line 3409 of file DebugInfoMetadata.h.

References expr_op_iterator(), and T.

◆ operator->()

const ExprOperand * llvm::DIExpression::expr_op_iterator::operator-> ( ) const
inline

Definition at line 3403 of file DebugInfoMetadata.h.

◆ operator==()

bool llvm::DIExpression::expr_op_iterator::operator== ( const expr_op_iterator & X) const
inline

Definition at line 3422 of file DebugInfoMetadata.h.

References expr_op_iterator(), getBase(), and X.


The documentation for this class was generated from the following file: