Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
18class TList;
21
23{
24private:
25 static void GenerateMissingStreamerInfo(TList *extrainfos, const char *clname, Bool_t iscope);
26public:
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
const Bool_t kFALSE
Definition RtypesCore.h:101
char name[80]
Definition TGX11.cxx:110
A doubly linked list.
Definition TList.h:38
static void GenerateMissingStreamerInfo(TList *extrainfos, const char *clname, Bool_t iscope)
Generate an empty StreamerInfo for the given type (no recursion) if it is not not known in the list o...
static TString GetHeaderName(const char *name, const TList *extrainfos, Bool_t includeNested=kFALSE)
Return the header name containing the description of name.
static void ChopFileName(TString &name, Int_t limit)
Chop the name by replacing the ending (before a potential extension) with a md5 summary of the name.
static void GenerateMissingStreamerInfos(TList *extrainfos, TStreamerElement *element)
Generate an empty StreamerInfo for types that are used in templates parameters but are not known in t...
static UInt_t GenerateForwardDeclaration(FILE *fp, const char *clname, char *inclist, Bool_t implementEmptyClass, Bool_t needGenericTemplate, const TList *extrainfos)
Insert a (complete) forward declaration for the class 'clname'.
static void AddUniqueStatement(FILE *fp, const char *statement, char *inclist)
Add an include statement, if it has not already been added.
static void AddInclude(FILE *fp, const char *header, Bool_t system, char *inclist)
Add an include statement, if it has not already been added.
static UInt_t GenerateIncludeForTemplate(FILE *fp, const char *clname, char *inclist, Bool_t forward, const TList *extrainfos)
Add to the header file, the #include needed for the argument of this template.
static void GeneratePostDeclaration(FILE *fp, const TVirtualStreamerInfo *info, char *inclist)
Add to the header file anything that need to appear after the class declaration (this includes some #...
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)
Write the start of the class (forward) declaration.
static TString UpdateAssociativeToVector(const char *name)
Basic string class.
Definition TString.h:136
Abstract Interface class describing Streamer information for one class.