Logo ROOT  
Reference Guide
TClingDeclInfo.h
Go to the documentation of this file.
1/// \file TClingDeclInfo.h
2///
3/// \brief The file contains a base class of TCling*Info classes.
4///
5/// \author Vassil Vassilev <vvasilev@cern.ch>
6///
7/// \date March, 2019
8///
9/*************************************************************************
10 * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
11 * All rights reserved. *
12 * *
13 * For the licensing terms see $ROOTSYS/LICENSE. *
14 * For the list of contributors see $ROOTSYS/README/CREDITS. *
15 *************************************************************************/
16
17#ifndef ROOT_TClingDeclInfo
18#define ROOT_TClingDeclInfo
19
20#include <string>
21
22namespace clang {
23 class Decl;
24}
25
27protected:
28 const clang::Decl* fDecl = nullptr;
29 std::string fNameCache;
30public:
31 TClingDeclInfo(const clang::Decl* D) : fDecl(D) {}
32 virtual ~TClingDeclInfo();
33
34 virtual const clang::Decl* GetDecl() const { return fDecl; }
35 clang::Decl* GetDecl() {
36 return const_cast<clang::Decl*>(const_cast<const TClingDeclInfo*>(this)->GetDecl());
37 }
38 virtual bool IsValid() const { return GetDecl(); }
39 virtual const char* Name();
40};
41
42#endif // ROOT_TClingDeclInfo
clang::Decl * GetDecl()
const clang::Decl * fDecl
virtual ~TClingDeclInfo()
TClingDeclInfo(const clang::Decl *D)
virtual const char * Name()
virtual bool IsValid() const
std::string fNameCache
virtual const clang::Decl * GetDecl() const