12#ifndef ROOT_TMetaUtils
13#define ROOT_TMetaUtils
18#include <unordered_set>
26#if defined(__GNUC__) && !defined(__clang__)
27#pragma GCC diagnostic push
28#pragma GCC diagnostic ignored "-Wpragmas"
29#pragma GCC diagnostic ignored "-Wclass-memaccess"
32#include "clang/Basic/Module.h"
34#if defined(__GNUC__) && !defined(__clang__)
35#pragma GCC diagnostic pop
98class AnnotatedRecordDecl;
105 static const std::string
iotype(
"iotype");
106 static const std::string
name(
"name");
108 static const std::string
ioname(
"ioname");
119 const cling::Interpreter &
interp,
154 bool replace =
false);
225 const clang::RecordDecl *
decl,
237 const clang::RecordDecl *
decl,
251 const clang::RecordDecl *
decl,
265 const clang::RecordDecl *
decl,
314 default:
assert(
false &&
"invalid setting of fRequestedRNTupleSerializationMode");
320 operator clang::RecordDecl
const *()
const {
347 const clang::CXXRecordDecl *
GetType()
const;
404 const clang::QualType &
qti,
407 const cling::Interpreter &
interp,
408 const char *
tcl =
nullptr);
411bool IsBase(
const clang::CXXRecordDecl *cl,
const clang::CXXRecordDecl *base,
const clang::CXXRecordDecl *context,
const cling::Interpreter &
interp);
432bool HasNewMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
435bool HasOldMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
447bool NeedDestructor(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
454 const cling::Interpreter&,
bool diagnose);
517 const std::function<
void(
const clang::Module::Header &)> &
closure,
533std::string
TrueName(
const clang::FieldDecl &
m);
537 const cling::Interpreter &
gInterp,
543 const AnnotatedRecordDecl &cl,
544 const clang::CXXRecordDecl *
decl,
545 const cling::Interpreter &
interp,
554 const cling::Interpreter &
gInterp,
559 const AnnotatedRecordDecl &cl,
560 const cling::Interpreter &
interp,
568 const AnnotatedRecordDecl &cl,
569 const clang::CXXRecordDecl *
decl,
570 const cling::Interpreter &
interp,
577 const cling::Interpreter &
interp);
585 const clang::CXXRecordDecl*
clxx,
586 const cling::Interpreter &
interp,
591 const clang::CXXRecordDecl*
clxx,
592 const cling::Interpreter &
interp,
614#if defined(R__MACOSX) || defined(R__WIN32)
675llvm::StringRef
GetComment(
const clang::Decl &
decl, clang::SourceLocation *
loc =
nullptr);
740bool IsOfType(
const clang::CXXRecordDecl &cl,
const std::string&
type,
const cling::LookupHelper&
lh);
761 clang::ClassTemplateDecl*&
ctd,
762 clang::ClassTemplateSpecializationDecl*&
ctsd);
770 std::list<std::pair<std::string,bool> >&);
773 std::list<std::pair<std::string,bool> >&);
777 std::list<std::pair<std::string,unsigned int> >&
enclosingSc);
787void ReplaceAll(std::string& str,
const std::string& from,
const std::string& to,
bool recurse=
false);
819 const char *
type =
nullptr;
834 if (!location || !location[0]) {
873inline void Info(
const char *location,
const char *
va_(
fmt), ...)
917namespace AST2SourceTools {
922 const cling::Interpreter&
interp, std::string *
logs);
952int GetDefArg(
const clang::ParmVarDecl& par, std::string&
valAsString,
const clang::PrintingPolicy& pp);
962 std::unordered_set<std::string>*
fwdDeclSet=
nullptr);
static Roo_reg_AGKInteg1D instance
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Int_t gErrorIgnoreLevel
errors with level below this value will be ignored. Default is kUnset.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type