LLVM  14.0.0git
Public Types | Public Member Functions | List of all members
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
 
T * operator[] (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 1294 of file Metadata.h.

Member Typedef Documentation

◆ iterator

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

Definition at line 1326 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 1299 of file Metadata.h.

References N.

◆ 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 1302 of file Metadata.h.

References N, and 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 1308 of file Metadata.h.

References N, and Other.

Member Function Documentation

◆ begin()

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

Definition at line 1328 of file Metadata.h.

References N.

◆ empty()

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

Definition at line 1322 of file Metadata.h.

References N.

◆ end()

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

Definition at line 1329 of file Metadata.h.

References N.

◆ get()

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

◆ operator bool()

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

Definition at line 1313 of file Metadata.h.

References llvm::MDTupleTypedArrayWrapper< T >::get().

◆ operator MDTuple *()

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

Definition at line 1314 of file Metadata.h.

References llvm::MDTupleTypedArrayWrapper< T >::get().

◆ operator*()

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

Definition at line 1318 of file Metadata.h.

References llvm::MDTupleTypedArrayWrapper< T >::get().

◆ operator->()

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

Definition at line 1317 of file Metadata.h.

References llvm::MDTupleTypedArrayWrapper< T >::get().

◆ operator[]()

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

Definition at line 1323 of file Metadata.h.

References I, N, and T.

◆ size()

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

Definition at line 1321 of file Metadata.h.

References N.


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