diff options
Diffstat (limited to 'clang/tools/libclang/CXTranslationUnit.h')
| -rw-r--r-- | clang/tools/libclang/CXTranslationUnit.h | 17 |
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 |

