#ifndef REFLEX_BUILD
#define REFLEX_BUILD
#endif
#include "Reflex/Kernel.h"
#include "Reflex/Scope.h"
#include "Reflex/internal/ScopeName.h"
#include "Reflex/PropertyList.h"
#include "Reflex/Type.h"
#include "Reflex/Base.h"
#include "Reflex/Member.h"
#include "Reflex/Object.h"
#include "Reflex/PropertyList.h"
#include "Reflex/MemberTemplate.h"
#include "Reflex/Any.h"
#include "Fundamental.h"
#include "Namespace.h"
#include "Typedef.h"
#include "Class.h"
#include <typeinfo>
Reflex::Instance::Instance() {
   static bool initialized = false;
   if (initialized) {
      return;
   }
   initialized = true;
   
   Namespace::GlobalScope();
   
   Fundamental * tb = 0;
   Type t = Type();
 
   
   tb = new Fundamental( "char", 
                         sizeof( char ), 
                         typeid( char ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   
   tb = new Fundamental( "signed char", 
                         sizeof( signed char ), 
                         typeid( signed char ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   tb = new Fundamental( "short int", 
                         sizeof( short int ), 
                         typeid( short int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "short", t, FUNDAMENTAL, t );
   new Typedef( "signed short", t, FUNDAMENTAL, t );
   new Typedef( "short signed", t, FUNDAMENTAL, t );
   new Typedef( "signed short int", t, FUNDAMENTAL, t );
   new Typedef( "short signed int", t, FUNDAMENTAL, t );
   tb = new Fundamental( "int", 
                         sizeof( int ), 
                         typeid( int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "signed", t, FUNDAMENTAL, t );
   new Typedef( "signed int", t, FUNDAMENTAL, t );
   tb = new Fundamental( "long int", 
                         sizeof( long int ), 
                         typeid( long int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "long", t, FUNDAMENTAL, t );
   new Typedef( "signed long", t, FUNDAMENTAL, t );
   new Typedef( "long signed", t, FUNDAMENTAL, t );
   new Typedef( "signed long int", t, FUNDAMENTAL, t );
   new Typedef( "long signed int", t, FUNDAMENTAL, t );
   
   tb = new Fundamental( "unsigned char", 
                         sizeof( unsigned char ), 
                         typeid( unsigned char ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   tb = new Fundamental( "unsigned short int", 
                         sizeof( unsigned short int ), 
                         typeid( unsigned short int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "unsigned short", t, FUNDAMENTAL, t );
   new Typedef( "short unsigned int", t, FUNDAMENTAL, t );
   tb = new Fundamental( "unsigned int", 
                         sizeof( unsigned int ), 
                         typeid( unsigned int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "unsigned", t, FUNDAMENTAL, t );
   tb = new Fundamental( "unsigned long int", 
                         sizeof( unsigned long int ), 
                         typeid( unsigned long int ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "unsigned long", t, FUNDAMENTAL, t );
   new Typedef( "long unsigned", t, FUNDAMENTAL, t );
   new Typedef( "long unsigned int", t, FUNDAMENTAL, t );
   
   
   tb = new Fundamental( "bool", 
                         sizeof( bool ), 
                         typeid( bool ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   
   tb = new Fundamental( "float", 
                         sizeof( float ), 
                         typeid( float ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   tb = new Fundamental( "double", 
                         sizeof( double ), 
                         typeid( double ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   tb = new Fundamental( "long double", 
                         sizeof( long double ), 
                         typeid( long double ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   
   tb = new Fundamental( "void", 
                         0, 
                         typeid( void ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
      
#if defined(_WIN32) && !defined(__CINT__)
   typedef __int64 longlong;
   typedef unsigned __int64 ulonglong;
#else
   typedef long long int longlong; 
   typedef unsigned long long int  ulonglong;
#endif
   
   tb = new Fundamental( "long long", 
                         sizeof( longlong ), 
                         typeid( longlong ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "long long int", t, FUNDAMENTAL, t );
   tb = new Fundamental( "unsigned long long", 
                         sizeof( ulonglong ), 
                         typeid( ulonglong ));
   tb->Properties().AddProperty( "Description", "fundamental type" );
   t = tb->ThisType();
   new Typedef( "long long unsigned", t, FUNDAMENTAL, t );
   new Typedef( "unsigned long long int", t, FUNDAMENTAL, t );
   new Typedef( "long long unsigned int", t, FUNDAMENTAL, t );
}
void Reflex::Instance::Shutdown() {
   
   MemberTemplateName::CleanUp();
   TypeTemplateName::CleanUp();
   TypeName::CleanUp();
   ScopeName::CleanUp();
}
Reflex::Instance::~Instance() {
   
   
   
}
const Reflex::StdString_Cont_Type_t & Reflex::Dummy::StdStringCont() {
   return Get< StdString_Cont_Type_t >();
}
const Reflex::Type_Cont_Type_t & Reflex::Dummy::TypeCont() {
   return Get< Type_Cont_Type_t >();
}
const Reflex::Base_Cont_Type_t & Reflex::Dummy::BaseCont() {
   return Get< Base_Cont_Type_t >();
}
const Reflex::Scope_Cont_Type_t & Reflex::Dummy::ScopeCont() {
   return Get< Scope_Cont_Type_t >();
}
const Reflex::Object_Cont_Type_t & Reflex::Dummy::ObjectCont() {
   return Get< Object_Cont_Type_t >();
}
const Reflex::Member_Cont_Type_t & Reflex::Dummy::MemberCont() {
   return Get< Member_Cont_Type_t >();
}
const Reflex::TypeTemplate_Cont_Type_t & Reflex::Dummy::TypeTemplateCont() {
   return Get< TypeTemplate_Cont_Type_t >();
}
const Reflex::MemberTemplate_Cont_Type_t & Reflex::Dummy::MemberTemplateCont() {
   return Get< MemberTemplate_Cont_Type_t >();
}
Reflex::Any & Reflex::Dummy::Any() {
   
   static Reflex::Any i;
   if ( i ) i.Clear();
   return i;
}
const Reflex::Object & Reflex::Dummy::Object() {
   
   return Get< Reflex::Object >();
}
const Reflex::Type & Reflex::Dummy::Type() {
   
   return Get< Reflex::Type >();
}
const Reflex::TypeTemplate & Reflex::Dummy::TypeTemplate() {
   
   return Get< Reflex::TypeTemplate >();
}
const Reflex::Base & Reflex::Dummy::Base() {
   
   return Get< Reflex::Base >();
}
const Reflex::PropertyList & Reflex::Dummy::PropertyList() {
   
   return Get< Reflex::PropertyList >();
}
const Reflex::Member & Reflex::Dummy::Member() {
   
   return Get< Reflex::Member >();
}
const Reflex::MemberTemplate & Reflex::Dummy::MemberTemplate() {
   
   return Get< Reflex::MemberTemplate >();
}
const Reflex::Scope & Reflex::Dummy::Scope() {
   
   return Get< Reflex::Scope >();
}
const std::string & Reflex::Argv0() {
   static std::string str = "REFLEX";
   return str;
}
namespace {
   Reflex::Instance initialise;
}
Last change: Fri Nov 14 16:33:59 2008
Last generated: 2008-11-14 16:33
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.