-//===- llvm/IR/TrackingMDRef.h - Tracking Metadata references -------------===//
+//===- llvm/IR/TrackingMDRef.h - Tracking Metadata references ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
#ifndef LLVM_IR_TRACKINGMDREF_H
#define LLVM_IR_TRACKINGMDREF_H
-#include "llvm/IR/MetadataTracking.h"
+#include "llvm/IR/Metadata.h"
#include "llvm/Support/Casting.h"
namespace llvm {
-class Metadata;
-class MDNode;
-class ValueAsMetadata;
-
/// \brief Tracking metadata reference.
///
/// This class behaves like \a TrackingVH, but for metadata.
}
~TrackingMDRef() { untrack(); }
- LLVM_EXPLICIT operator bool() const { return get(); }
Metadata *get() const { return MD; }
operator Metadata *() const { return get(); }
Metadata *operator->() const { return get(); }
return *this;
}
- LLVM_EXPLICIT operator bool() const { return get(); }
T *get() const { return (T *)Ref.get(); }
operator T *() const { return get(); }
T *operator->() const { return get(); }