LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
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 2814 of file DebugInfoMetadata.h.

Member Typedef Documentation

◆ difference_type

Definition at line 2820 of file DebugInfoMetadata.h.

◆ iterator_category

Definition at line 2818 of file DebugInfoMetadata.h.

◆ pointer

Definition at line 2821 of file DebugInfoMetadata.h.

◆ reference

Definition at line 2822 of file DebugInfoMetadata.h.

◆ value_type

Definition at line 2819 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

◆ expr_op_iterator() [1/2]

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

Referenced by getNext().

◆ expr_op_iterator() [2/2]

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

Definition at line 2825 of file DebugInfoMetadata.h.

Member Function Documentation

◆ getBase()

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

Definition at line 2827 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 2846 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 2851 of file DebugInfoMetadata.h.

References getBase(), and X.

◆ operator*()

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

Definition at line 2828 of file DebugInfoMetadata.h.

◆ operator++() [1/2]

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

Definition at line 2831 of file DebugInfoMetadata.h.

◆ operator++() [2/2]

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

Definition at line 2835 of file DebugInfoMetadata.h.

References T.

◆ operator->()

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

Definition at line 2829 of file DebugInfoMetadata.h.

◆ operator==()

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

Definition at line 2848 of file DebugInfoMetadata.h.

References getBase(), and X.


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