Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:12:13

0001 // @(#)root/io:$Id$
0002 // Author: Rene Brun   12/10/2000
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
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 // ROOT_TMakeProject
0041