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

Typed, array-like tuple of metadata. More...

#include "llvm/IR/Metadata.h"

Public Types

using iterator = TypedMDOperandIterator<T>

Public Member Functions

 MDTupleTypedArrayWrapper ()=default
 MDTupleTypedArrayWrapper (const MDTuple *N)
template<class U>
 MDTupleTypedArrayWrapper (const MDTupleTypedArrayWrapper< U > &Other, std::enable_if_t< std::is_convertible< U *, T * >::value > *=nullptr)
template<class U>
 MDTupleTypedArrayWrapper (const MDTupleTypedArrayWrapper< U > &Other, std::enable_if_t<!std::is_convertible< U *, T * >::value > *=nullptr)
 operator bool () const
 operator MDTuple * () const
MDTupleget () const
MDTupleoperator-> () const
MDTupleoperator* () const
unsigned size () const
bool empty () const
Toperator[] (unsigned I) const
iterator begin () const
iterator end () const

Detailed Description

template<class T>
class llvm::MDTupleTypedArrayWrapper< T >

Typed, array-like tuple of metadata.

This is a wrapper for MDTuple that makes it act like an array holding a particular type of metadata.

Definition at line 1647 of file Metadata.h.

Member Typedef Documentation

◆ iterator

template<class T>
using llvm::MDTupleTypedArrayWrapper< T >::iterator = TypedMDOperandIterator<T>

Definition at line 1679 of file Metadata.h.

Constructor & Destructor Documentation

◆ MDTupleTypedArrayWrapper() [1/4]

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

◆ MDTupleTypedArrayWrapper() [2/4]

template<class T>
llvm::MDTupleTypedArrayWrapper< T >::MDTupleTypedArrayWrapper ( const MDTuple * N)
inline

Definition at line 1652 of file Metadata.h.

◆ MDTupleTypedArrayWrapper() [3/4]

template<class T>
template<class U>
llvm::MDTupleTypedArrayWrapper< T >::MDTupleTypedArrayWrapper ( const MDTupleTypedArrayWrapper< U > & Other,
std::enable_if_t< std::is_convertible< U *, T * >::value > * = nullptr )
inline

Definition at line 1655 of file Metadata.h.

References get(), MDTupleTypedArrayWrapper(), and llvm::Other.

◆ MDTupleTypedArrayWrapper() [4/4]

template<class T>
template<class U>
llvm::MDTupleTypedArrayWrapper< T >::MDTupleTypedArrayWrapper ( const MDTupleTypedArrayWrapper< U > & Other,
std::enable_if_t<!std::is_convertible< U *, T * >::value > * = nullptr )
inlineexplicit

Definition at line 1661 of file Metadata.h.

References get(), MDTupleTypedArrayWrapper(), and llvm::Other.

Member Function Documentation

◆ begin()

template<class T>
iterator llvm::MDTupleTypedArrayWrapper< T >::begin ( ) const
inline

Definition at line 1681 of file Metadata.h.

◆ empty()

template<class T>
bool llvm::MDTupleTypedArrayWrapper< T >::empty ( ) const
inline

Definition at line 1675 of file Metadata.h.

◆ end()

template<class T>
iterator llvm::MDTupleTypedArrayWrapper< T >::end ( ) const
inline

Definition at line 1682 of file Metadata.h.

◆ get()

◆ operator bool()

template<class T>
llvm::MDTupleTypedArrayWrapper< T >::operator bool ( ) const
inlineexplicit

Definition at line 1666 of file Metadata.h.

References get().

◆ operator MDTuple *()

template<class T>
llvm::MDTupleTypedArrayWrapper< T >::operator MDTuple * ( ) const
inlineexplicit

Definition at line 1667 of file Metadata.h.

References get().

◆ operator*()

template<class T>
MDTuple & llvm::MDTupleTypedArrayWrapper< T >::operator* ( ) const
inline

Definition at line 1671 of file Metadata.h.

References get().

◆ operator->()

template<class T>
MDTuple * llvm::MDTupleTypedArrayWrapper< T >::operator-> ( ) const
inline

Definition at line 1670 of file Metadata.h.

References get().

◆ operator[]()

template<class T>
T * llvm::MDTupleTypedArrayWrapper< T >::operator[] ( unsigned I) const
inline

Definition at line 1676 of file Metadata.h.

References llvm::cast_or_null(), I, and T.

◆ size()

template<class T>
unsigned llvm::MDTupleTypedArrayWrapper< T >::size ( ) const
inline

Definition at line 1674 of file Metadata.h.


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