Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RStl.h
Go to the documentation of this file.
1// @(#)root/cont:$Id$
2// Author: Philippe Canal 20/08/2003
3
4/*************************************************************************
5 * Copyright (C) 1995-2003, Rene Brun, Fons Rademakers and al. *
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 R__RSTL_H
13#define R__RSTL_H
14
15//////////////////////////////////////////////////////////////////////////
16// //
17// RStl //
18// //
19// Use to manage the code that needs to be generated for the STL //
20// by rootcint. This class is reserved for rootcint and is a //
21// singleton. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include <cstdio>
26#include <set>
27
28#include "TClingUtils.h"
29
30namespace clang {
31 class CXXRecordDecl;
32}
33
34namespace cling {
35 class Interpreter;
36}
37
38namespace ROOT {
39 namespace TMetaUtils {
40 class TNormalizedCtxt;
41 }
42}
43
44namespace ROOT {
45namespace Internal {
46
47 class RStl {
48 private:
49 typedef std::set<ROOT::TMetaUtils::AnnotatedRecordDecl,ROOT::TMetaUtils::AnnotatedRecordDecl::CompareByName> list_t;
51
52 public:
53 static RStl& Instance();
54 ~RStl() {};
55
56 void GenerateTClassFor(const char *requestedName, const clang::CXXRecordDecl *stlClass, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt);
57 void GenerateTClassFor(const clang::QualType &type, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt);
58 void Print();
59 void WriteClassInit(std::ostream &strm,
60 const cling::Interpreter &interp,
63 bool &needCollectionProxy,
64 void (*emitStreamerInfo)(const char*) );
65// void WriteStreamer(FILE *file,const clang::CXXRecordDecl *stlcl);
66// void WriteStreamer(FILE *file);
67
68 private:
69 RStl() : fList() {};
70 RStl(const RStl&);
72 };
73
74}
75}
76#endif // R__RSTL_H
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
std::set< ROOT::TMetaUtils::AnnotatedRecordDecl, ROOT::TMetaUtils::AnnotatedRecordDecl::CompareByName > list_t
Definition RStl.h:49
RStl & operator=(const RStl &)
void GenerateTClassFor(const char *requestedName, const clang::CXXRecordDecl *stlClass, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
Definition RStl.cxx:126
static RStl & Instance()
Definition RStl.cxx:40
void WriteClassInit(std::ostream &strm, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt, const ROOT::TMetaUtils::RConstructorTypes &, bool &needCollectionProxy, void(*emitStreamerInfo)(const char *))
Definition RStl.cxx:190
RStl(const RStl &)
std::list< RConstructorType > RConstructorTypes
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.