Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TMakeProject.h
Go to the documentation of this file.
1 // @(#)root/io:$Id$
2 // Author: Rene Brun 12/10/2000
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TMakeProject
13 #define ROOT_TMakeProject
14 
15 #include <stdio.h>
16 #include "TString.h"
17 
18 class TList;
19 class TVirtualStreamerInfo;
20 class TStreamerElement;
21 
22 class TMakeProject
23 {
24 private:
25  static void GenerateMissingStreamerInfo(TList *extrainfos, const char *clname, Bool_t iscope);
26 public:
27  static void AddUniqueStatement(FILE *fp, const char *statement, char *inclist);
28  static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist);
29  static void ChopFileName(TString &name, Int_t limit);
30  static TString GetHeaderName(const char *name, const TList *extrainfos, Bool_t includeNested = kFALSE);
31  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);
32  static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerElement *element);
33  static void GenerateMissingStreamerInfos(TList *extrainfos, const char *clname);
34  static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, char *inclist, Bool_t implementEmptyClass, Bool_t needGenericTemplate, const TList *extrainfos);
35  static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, char *inclist, Bool_t forward, const TList *extrainfos);
36  static TString UpdateAssociativeToVector(const char *name);
37  static void GeneratePostDeclaration(FILE *fp, const TVirtualStreamerInfo *info, char *inclist);
38 };
39 
40 #endif // ROOT_TMakeProject
41