LLVM  8.0.1
Public Member Functions | List of all members
llvm::TypedDINodeRef< T > Class Template Reference

Holds a subclass of DINode. More...

#include "llvm/IR/DebugInfoMetadata.h"

Public Member Functions

 TypedDINodeRef ()=default
 
 TypedDINodeRef (std::nullptr_t)
 
 TypedDINodeRef (const T *MD)
 
 TypedDINodeRef (const Metadata *MD)
 
template<class U >
 TypedDINodeRef (const TypedDINodeRef< U > &X, typename std::enable_if< std::is_convertible< U *, T *>::value >::type *=nullptr)
 
 operator Metadata * () const
 
Tresolve () const
 
bool operator== (const TypedDINodeRef< T > &X) const
 
bool operator!= (const TypedDINodeRef< T > &X) const
 

Detailed Description

template<class T>
class llvm::TypedDINodeRef< T >

Holds a subclass of DINode.

FIXME: This class doesn't currently make much sense. Previously it was a union beteen MDString (for ODR-uniqued types) and things like DIType. To support CodeView work, it wasn't deleted outright when MDString-based type references were deleted; we'll soon need a similar concept for CodeView DITypeIndex.

Definition at line 71 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

◆ TypedDINodeRef() [1/5]

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

◆ TypedDINodeRef() [2/5]

template<class T>
llvm::TypedDINodeRef< T >::TypedDINodeRef ( std::nullptr_t  )
inline

Definition at line 76 of file DebugInfoMetadata.h.

◆ TypedDINodeRef() [3/5]

template<class T>
llvm::TypedDINodeRef< T >::TypedDINodeRef ( const T MD)
inline

Definition at line 77 of file DebugInfoMetadata.h.

◆ TypedDINodeRef() [4/5]

template<class T>
llvm::TypedDINodeRef< T >::TypedDINodeRef ( const Metadata MD)
inlineexplicit

Definition at line 79 of file DebugInfoMetadata.h.

References assert().

◆ TypedDINodeRef() [5/5]

template<class T>
template<class U >
llvm::TypedDINodeRef< T >::TypedDINodeRef ( const TypedDINodeRef< U > &  X,
typename std::enable_if< std::is_convertible< U *, T *>::value >::type = nullptr 
)
inline

Definition at line 84 of file DebugInfoMetadata.h.

Member Function Documentation

◆ operator Metadata *()

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

Definition at line 90 of file DebugInfoMetadata.h.

◆ operator!=()

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

Definition at line 95 of file DebugInfoMetadata.h.

◆ operator==()

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

Definition at line 94 of file DebugInfoMetadata.h.

◆ resolve()

template<class T>
T* llvm::TypedDINodeRef< T >::resolve ( ) const
inline

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