12#include "RConfigure.h" 
   22#include "clang/AST/Decl.h" 
   23#include "clang/AST/DeclTemplate.h" 
   25#include "cling/Interpreter/Interpreter.h" 
   26#include "cling/Interpreter/LookupHelper.h" 
   28#include "clang/Sema/Sema.h" 
   29#include "clang/Sema/Template.h" 
   30#include "clang/Frontend/CompilerInstance.h" 
   70   const clang::ClassTemplateSpecializationDecl *
templateCl = llvm::dyn_cast<clang::ClassTemplateSpecializationDecl>(
stlclass);
 
   79      const clang::TemplateArgument &arg( 
templateCl->getTemplateArgs().get(0) );
 
   80      if (arg.getKind() == clang::TemplateArgument::Type) {
 
   81         const clang::NamedDecl *
decl = arg.getAsType().getTypePtr()->getAsCXXRecordDecl();
 
   86               ROOT::TMetaUtils::Warning(
"std::vector<bool>", 
" is not fully supported yet!\nUse std::vector<char> or std::deque<bool> instead.\n");
 
  110   for(
unsigned int i=0; i <  
templateCl->getTemplateArgs().
size(); ++i) {
 
  111      const clang::TemplateArgument &arg( 
templateCl->getTemplateArgs().get(i) );
 
  112      if (arg.getKind() == clang::TemplateArgument::Type) {
 
  113         const clang::NamedDecl *
decl = arg.getAsType().getTypePtr()->getAsCXXRecordDecl();
 
  117               const clang::CXXRecordDecl *
clxx = llvm::dyn_cast<clang::CXXRecordDecl>(
decl);
 
  119                  if (!
clxx->isCompleteDefinition()) {
 
 
  133   const clang::ClassTemplateSpecializationDecl *
templateCl = llvm::dyn_cast<clang::ClassTemplateSpecializationDecl>(
stlclass);
 
  143      const clang::TemplateArgument &arg( 
templateCl->getTemplateArgs().get(0) );
 
  144      if (arg.getKind() == clang::TemplateArgument::Type) {
 
  145         const clang::NamedDecl *
decl = arg.getAsType().getTypePtr()->getAsCXXRecordDecl();
 
  150               ROOT::TMetaUtils::Warning(
"std::vector<bool>", 
" is not fully supported yet!\nUse std::vector<char> or std::deque<bool> instead.\n");
 
  171   for(
unsigned int i=0; i <  
templateCl->getTemplateArgs().
size(); ++i) {
 
  172      const clang::TemplateArgument &arg( 
templateCl->getTemplateArgs().get(i) );
 
  173      if (arg.getKind() == clang::TemplateArgument::Type) {
 
  174         const clang::NamedDecl *
decl = arg.getAsType().getTypePtr()->getAsCXXRecordDecl();
 
  178               const clang::CXXRecordDecl *
clxx = llvm::dyn_cast<clang::CXXRecordDecl>(
decl);
 
  180                  if (!
clxx->isCompleteDefinition()) {
 
  182                     clxx = arg.getAsType().getTypePtr()->getAsCXXRecordDecl();
 
 
  200   list_t::iterator iter;
 
  201   for(iter = fList.begin(); iter != fList.end(); ++iter) {
 
 
  207                                const cling::Interpreter &
interp,
 
  217   list_t::iterator iter;
 
  218   for(iter = fList.begin(); iter != fList.end(); ++iter) {
 
  219      const clang::CXXRecordDecl* 
result;
 
  221      if (!iter->GetRecordDecl()->getDefinition()) {
 
  225         const cling::LookupHelper& 
lh = 
interp.getLookupHelper();
 
  226         result = llvm::dyn_cast_or_null<clang::CXXRecordDecl>(
lh.findScope(iter->GetNormalizedName(),
 
  227                                                                            cling::LookupHelper::NoDiagnostics,
 
  231         if (!
result || !iter->GetRecordDecl()->getDefinition()) {
 
  232            fprintf(
stderr,
"Error: incomplete definition for %s\n",iter->GetNormalizedName());
 
  238         result = llvm::dyn_cast<clang::CXXRecordDecl>(iter->GetRecordDecl());
 
 
static Roo_reg_AGKInteg1D instance
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 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
void GenerateTClassFor(const char *requestedName, const clang::CXXRecordDecl *stlClass, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
void WriteClassInit(std::ostream &strm, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt, const ROOT::TMetaUtils::RConstructorTypes &, bool &needCollectionProxy, void(*emitStreamerInfo)(const char *))
ROOT::ESTLType STLKind(std::string_view type)
Converts STL container name to number.