File indexing completed on 2025-01-18 10:12:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TMakeProject
0013 #define ROOT_TMakeProject
0014
0015 #include <stdio.h>
0016 #include "TString.h"
0017
0018 class TList;
0019 class TVirtualStreamerInfo;
0020 class TStreamerElement;
0021
0022 class TMakeProject
0023 {
0024 private:
0025 static void GenerateMissingStreamerInfo(TList *extrainfos, const char *clname, Bool_t iscope);
0026 public:
0027 static void AddUniqueStatement(FILE *fp, const char *statement, char *inclist);
0028 static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist);
0029 static void ChopFileName(TString &name, Int_t limit);
0030 static TString GetHeaderName(const char *name, const TList *extrainfos, Bool_t includeNested = kFALSE);
0031 static UInt_t GenerateClassPrefix(FILE *fp, const char *clname, Bool_t top, TString &protoname, UInt_t *numberOfClasses, Int_t implementEmptyClass = kFALSE, Bool_t needGenericTemplate = kFALSE);
0032 static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerElement *element);
0033 static void GenerateMissingStreamerInfos(TList *extrainfos, const char *clname);
0034 static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, char *inclist, Bool_t implementEmptyClass, Bool_t needGenericTemplate, const TList *extrainfos);
0035 static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, char *inclist, Bool_t forward, const TList *extrainfos);
0036 static TString UpdateAssociativeToVector(const char *name);
0037 static void GeneratePostDeclaration(FILE *fp, const TVirtualStreamerInfo *info, char *inclist);
0038 };
0039
0040 #endif
0041