LLVM 22.0.0git
llvm::TypedMDOperandIterator< T > Class Template Reference

Typed iterator through MDNode operands. More...

#include "llvm/IR/Metadata.h"

Public Types

using iterator_category = std::input_iterator_tag
using value_type = T *
using difference_type = std::ptrdiff_t
using pointer = void
using reference = T *

Public Member Functions

 TypedMDOperandIterator ()=default
 TypedMDOperandIterator (MDNode::op_iterator I)
Toperator* () const
TypedMDOperandIteratoroperator++ ()
TypedMDOperandIterator operator++ (int)
bool operator== (const TypedMDOperandIterator &X) const
bool operator!= (const TypedMDOperandIterator &X) const

Detailed Description

template<class T>
class llvm::TypedMDOperandIterator< T >

Typed iterator through MDNode operands.

An iterator that transforms an MDNode::iterator into an iterator over a particular Metadata subclass.

Definition at line 1613 of file Metadata.h.

Member Typedef Documentation

◆ difference_type

template<class T>
using llvm::TypedMDOperandIterator< T >::difference_type = std::ptrdiff_t

Definition at line 1619 of file Metadata.h.

◆ iterator_category

template<class T>
using llvm::TypedMDOperandIterator< T >::iterator_category = std::input_iterator_tag

Definition at line 1617 of file Metadata.h.

◆ pointer

template<class T>
using llvm::TypedMDOperandIterator< T >::pointer = void

Definition at line 1620 of file Metadata.h.

◆ reference

template<class T>
using llvm::TypedMDOperandIterator< T >::reference = T *

Definition at line 1621 of file Metadata.h.

◆ value_type

template<class T>
using llvm::TypedMDOperandIterator< T >::value_type = T *

Definition at line 1618 of file Metadata.h.

Constructor & Destructor Documentation

◆ TypedMDOperandIterator() [1/2]

template<class T>
llvm::TypedMDOperandIterator< T >::TypedMDOperandIterator ( )
default

◆ TypedMDOperandIterator() [2/2]

template<class T>
llvm::TypedMDOperandIterator< T >::TypedMDOperandIterator ( MDNode::op_iterator I)
inlineexplicit

Definition at line 1624 of file Metadata.h.

Member Function Documentation

◆ operator!=()

template<class T>
bool llvm::TypedMDOperandIterator< T >::operator!= ( const TypedMDOperandIterator< T > & X) const
inline

Definition at line 1640 of file Metadata.h.

References TypedMDOperandIterator(), and X.

◆ operator*()

template<class T>
T * llvm::TypedMDOperandIterator< T >::operator* ( ) const
inline

Definition at line 1626 of file Metadata.h.

References llvm::cast_or_null(), and T.

◆ operator++() [1/2]

template<class T>
TypedMDOperandIterator & llvm::TypedMDOperandIterator< T >::operator++ ( )
inline

Definition at line 1628 of file Metadata.h.

References TypedMDOperandIterator().

◆ operator++() [2/2]

template<class T>
TypedMDOperandIterator llvm::TypedMDOperandIterator< T >::operator++ ( int )
inline

Definition at line 1633 of file Metadata.h.

References TypedMDOperandIterator().

◆ operator==()

template<class T>
bool llvm::TypedMDOperandIterator< T >::operator== ( const TypedMDOperandIterator< T > & X) const
inline

Definition at line 1639 of file Metadata.h.

References TypedMDOperandIterator(), and X.


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