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

Pointer union between a subclass of DINode and MDString. More...

#include <DebugInfoMetadata.h>

Public Member Functions

 TypedDINodeRef ()=default
 
 TypedDINodeRef (std::nullptr_t)
 
 TypedDINodeRef (const Metadata *MD)
 Construct from a raw pointer. More...
 
template<class U >
 TypedDINodeRef (const TypedDINodeRef< U > &X, typename std::enable_if< std::is_convertible< U *, T * >::value >::type *=nullptr)
 
 operator Metadata * () const
 
bool operator== (const TypedDINodeRef< T > &X) const
 
bool operator!= (const TypedDINodeRef< T > &X) const
 
template<class MapTy >
Tresolve (const MapTy &Map) const
 

Static Public Member Functions

static TypedDINodeRef get (const T *N)
 Create a reference. More...
 

Detailed Description

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

Pointer union between a subclass of DINode and MDString.

DICompositeType can be referenced via an MDString unique identifier. This class allows some type safety in the face of that, requiring either a node of a particular type or an MDString.

Definition at line 49 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 54 of file DebugInfoMetadata.h.

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

Construct from a raw pointer.

Definition at line 57 of file DebugInfoMetadata.h.

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

Member Function Documentation

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

Definition at line 68 of file DebugInfoMetadata.h.

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

Definition at line 71 of file DebugInfoMetadata.h.

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

Definition at line 70 of file DebugInfoMetadata.h.

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

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