summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXTranslationUnit.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/libclang/CXTranslationUnit.h')
-rw-r--r--clang/tools/libclang/CXTranslationUnit.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXTranslationUnit.h b/clang/tools/libclang/CXTranslationUnit.h
index 2b8f977539c..47d7146116a 100644
--- a/clang/tools/libclang/CXTranslationUnit.h
+++ b/clang/tools/libclang/CXTranslationUnit.h
@@ -28,6 +28,23 @@ namespace cxtu {
CXTranslationUnitImpl *MakeCXTranslationUnit(ASTUnit *TU);
+class CXTUOwner {
+ CXTranslationUnitImpl *TU;
+
+public:
+ CXTUOwner(CXTranslationUnitImpl *tu) : TU(tu) { }
+ ~CXTUOwner();
+
+ CXTranslationUnitImpl *getTU() const { return TU; }
+
+ CXTranslationUnitImpl *takeTU() {
+ CXTranslationUnitImpl *retTU = TU;
+ TU = 0;
+ return retTU;
+ }
+};
+
+
}} // end namespace clang::cxtu
#endif
OpenPOWER on IntegriCloud