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);
224 const clang::RecordDecl *
decl,
235 const clang::RecordDecl *
decl,
248 const clang::RecordDecl *
decl,
261 const clang::RecordDecl *
decl,
308 default:
assert(
false &&
"invalid setting of fRequestedRNTupleSerializationMode");
314 operator clang::RecordDecl
const *()
const {
341 const clang::CXXRecordDecl *
GetType()
const;
398 const clang::QualType &
qti,
401 const cling::Interpreter &
interp,
402 const char *
tcl =
nullptr);
405bool IsBase(
const clang::CXXRecordDecl *cl,
const clang::CXXRecordDecl *base,
const clang::CXXRecordDecl *context,
const cling::Interpreter &
interp);
426bool HasNewMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
429bool HasOldMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
441bool NeedDestructor(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
448 const cling::Interpreter&,
bool diagnose);
511 const std::function<
void(
const clang::Module::Header &)> &
closure,
527std::string
TrueName(
const clang::FieldDecl &
m);
531 const cling::Interpreter &
gInterp,
537 const AnnotatedRecordDecl &cl,
538 const clang::CXXRecordDecl *
decl,
539 const cling::Interpreter &
interp,
548 const cling::Interpreter &
gInterp,
553 const AnnotatedRecordDecl &cl,
554 const cling::Interpreter &
interp,
562 const AnnotatedRecordDecl &cl,
563 const clang::CXXRecordDecl *
decl,
564 const cling::Interpreter &
interp,
571 const cling::Interpreter &
interp);
579 const clang::CXXRecordDecl*
clxx,
580 const cling::Interpreter &
interp,
585 const clang::CXXRecordDecl*
clxx,
586 const cling::Interpreter &
interp,
608#if defined(R__MACOSX) || defined(R__WIN32)
669llvm::StringRef
GetComment(
const clang::Decl &
decl, clang::SourceLocation *
loc =
nullptr);
734bool IsOfType(
const clang::CXXRecordDecl &cl,
const std::string&
type,
const cling::LookupHelper&
lh);
755 clang::ClassTemplateDecl*&
ctd,
756 clang::ClassTemplateSpecializationDecl*&
ctsd);
764 std::list<std::pair<std::string,bool> >&);
767 std::list<std::pair<std::string,bool> >&);
771 std::list<std::pair<std::string,unsigned int> >&
enclosingSc);
781void ReplaceAll(std::string& str,
const std::string& from,
const std::string& to,
bool recurse=
false);
813 const char *
type =
nullptr;
828 if (!location || !location[0]) {
867inline void Info(
const char *location,
const char *
va_(
fmt), ...)
911namespace AST2SourceTools {
916 const cling::Interpreter&
interp, std::string *
logs);
946int GetDefArg(
const clang::ParmVarDecl& par, std::string&
valAsString,
const clang::PrintingPolicy& pp);
956 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
Namespace for new ROOT classes and functions.