LLVM  14.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. More...
 
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 2674 of file DebugInfoMetadata.h.

Member Typedef Documentation

◆ difference_type

Definition at line 2680 of file DebugInfoMetadata.h.

◆ iterator_category

Definition at line 2678 of file DebugInfoMetadata.h.

◆ pointer

Definition at line 2681 of file DebugInfoMetadata.h.

◆ reference

Definition at line 2682 of file DebugInfoMetadata.h.

◆ value_type

Definition at line 2679 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 2685 of file DebugInfoMetadata.h.

Member Function Documentation

◆ getBase()

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

Definition at line 2687 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 2706 of file DebugInfoMetadata.h.

References expr_op_iterator().

◆ operator!=()

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

Definition at line 2711 of file DebugInfoMetadata.h.

References getBase(), and X.

◆ operator*()

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

Definition at line 2688 of file DebugInfoMetadata.h.

◆ operator++() [1/2]

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

Definition at line 2691 of file DebugInfoMetadata.h.

◆ operator++() [2/2]

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

Definition at line 2695 of file DebugInfoMetadata.h.

References T.

◆ operator->()

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

Definition at line 2689 of file DebugInfoMetadata.h.

◆ operator==()

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

Definition at line 2708 of file DebugInfoMetadata.h.

References getBase(), and X.


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