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

Holds a subclass of DINode. More...

#include <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 68 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

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

Definition at line 73 of file DebugInfoMetadata.h.

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

Definition at line 74 of file DebugInfoMetadata.h.

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

Definition at line 76 of file DebugInfoMetadata.h.

References assert().

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 81 of file DebugInfoMetadata.h.

Member Function Documentation

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

Definition at line 87 of file DebugInfoMetadata.h.

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

Definition at line 92 of file DebugInfoMetadata.h.

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

Definition at line 91 of file DebugInfoMetadata.h.

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

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