#ifndef Reflex_Kernel
#define Reflex_Kernel
#if __GNUC__ >= 4 && !defined(__CINT__)
#  define GCC_HASCLASSVISIBILITY
#endif
#if !defined(REFLEX_DLL_VETO) && !defined(REFLEX_DLL) && !defined(__CINT__)
#  define REFLEX_DLL
#endif
#ifdef _WIN32
#  define RFLX_IMPORT __declspec(dllimport)
#  define RFLX_EXPORT __declspec(dllexport)
#  define RFLX_DLLLOCAL
#  define RFLX_DLLPUBLIC
#else
#  ifdef GCC_HASCLASSVISIBILITY
#    define RFLX_EXPORT __attribute__((visibility("default")))
#    define RFLX_DLLLOCAL __attribute__((visibility("hidden")))
#    define RFLX_DLLPUBLIC __attribute__((visibility("default")))
#  else
#    define RFLX_EXPORT
#    define RFLX_DLLLOCAL
#    define RFLX_DLLPUBLIC
#  endif
#  define RFLX_IMPORT
#endif
#ifdef REFLEX_DLL
#  ifdef REFLEX_BUILD
#    define RFLX_API RFLX_EXPORT
#  else
#    define RFLX_API RFLX_IMPORT
#  endif // REFLEX_BUILD
#else
#  define RFLX_API
#endif // REFLEX_DLL
#ifdef _WIN32
#  define RFLX_EXCEPTIONAPI(api) api
#elif defined(GCC_HASCLASSVISIBILITY)
#  define RFLX_EXCEPTIONAPI(api) RFLX_EXPORT
#else
#  define RFLX_EXCEPTIONAPI(api)
#endif
#if defined (HAVE_CONFIG)
#include "config.h"
#endif
#if defined (_AIX)
#define ANSICPP
#define NEED_STRCASECMP
#endif
#if defined(__alpha) && !defined(__linux)
#ifndef __USE_STD_IOSTREAM
#define __USE_STD_IOSTREAM
#endif
#endif
#ifdef CONST
#undef CONST
#endif
#ifdef _WIN32
#pragma warning ( disable : 4786 )
#pragma warning ( disable : 4291 )
#pragma warning ( disable : 4250 )
#endif
#include <limits>
#ifndef LONGLONG_MAX
#define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
#endif
#ifndef LONGLONG_MIN
#define LONGLONG_MIN 0x8000000000000000LL
#endif
#ifndef ULONGLONG_MAX
#define ULONGLONG_MAX 0xFFFFFFFFFFFFFFFFLL
#endif
#ifndef ULONGLONG_MIN
#define ULONGLONG_MIN 0x0000000000000000LL
#endif
#include <string>
#include <vector>
#include <utility>
#include <exception>
namespace Reflex {
#if 0
   
   
   
   
   
#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
#endif
   
   class Any;
   class Type;
   class Base;
   class Scope;
   class Object;
   class Member;
   class PropertyList;
   class TypeTemplate;
   class MemberTemplate;
   typedef std::vector<std::string> StdString_Cont_Type_t;
   typedef StdString_Cont_Type_t::const_iterator StdString_Iterator;
   typedef StdString_Cont_Type_t::const_reverse_iterator Reverse_StdString_Iterator;
   typedef std::vector< Type > Type_Cont_Type_t;
   typedef Type_Cont_Type_t::const_iterator Type_Iterator;
   typedef Type_Cont_Type_t::const_reverse_iterator Reverse_Type_Iterator;
   typedef std::vector< Base > Base_Cont_Type_t;
   typedef Base_Cont_Type_t::const_iterator Base_Iterator;
   typedef Base_Cont_Type_t::const_reverse_iterator Reverse_Base_Iterator;
   typedef std::vector< Scope > Scope_Cont_Type_t;
   typedef Scope_Cont_Type_t::const_iterator Scope_Iterator;
   typedef Scope_Cont_Type_t::const_reverse_iterator Reverse_Scope_Iterator;
   typedef std::vector< Object > Object_Cont_Type_t;
   typedef Object_Cont_Type_t::const_iterator Object_Iterator;
   typedef Object_Cont_Type_t::const_reverse_iterator Reverse_Object_Iterator;
   typedef std::vector< Member > Member_Cont_Type_t;
   typedef Member_Cont_Type_t::const_iterator Member_Iterator;
   typedef Member_Cont_Type_t::const_reverse_iterator Reverse_Member_Iterator;
   typedef std::vector< TypeTemplate > TypeTemplate_Cont_Type_t;
   typedef TypeTemplate_Cont_Type_t::const_iterator TypeTemplate_Iterator;
   typedef TypeTemplate_Cont_Type_t::const_reverse_iterator Reverse_TypeTemplate_Iterator;
   typedef std::vector< MemberTemplate > MemberTemplate_Cont_Type_t;
   typedef MemberTemplate_Cont_Type_t::const_iterator MemberTemplate_Iterator;
   typedef MemberTemplate_Cont_Type_t::const_reverse_iterator Reverse_MemberTemplate_Iterator;
   namespace Dummy {
      RFLX_API const StdString_Cont_Type_t & StdStringCont();
      RFLX_API const Type_Cont_Type_t & TypeCont();
      RFLX_API const Base_Cont_Type_t & BaseCont();
      RFLX_API const Scope_Cont_Type_t & ScopeCont();
      RFLX_API const Object_Cont_Type_t & ObjectCont();
      RFLX_API const Member_Cont_Type_t & MemberCont();
      RFLX_API const TypeTemplate_Cont_Type_t & TypeTemplateCont();
      RFLX_API const MemberTemplate_Cont_Type_t & MemberTemplateCont();
      RFLX_API Any & Any();
      RFLX_API const Object & Object();
      RFLX_API const Type & Type();
      RFLX_API const TypeTemplate & TypeTemplate();
      RFLX_API const Base & Base();
      RFLX_API const PropertyList & PropertyList();
      RFLX_API const Member & Member();
      RFLX_API const MemberTemplate & MemberTemplate();
      RFLX_API const Scope & Scope();
      template< class T > inline const T & Get() {
         static T t;
         return t;
      }
   }
   
   class RFLX_API Instance {
   public:
      
     Instance();
      
      ~Instance();
   private:
      void Shutdown();
   }; 
   
   RFLX_API const std::string & Argv0(); 
   
   
   
   
   
   
   
   
   
   
   enum ENTITY_DESCRIPTION {
      PUBLIC          = (1<<0),  
      PROTECTED       = (1<<1),  
      PRIVATE         = (1<<2),  
      REGISTER        = (1<<3),  
      STATIC          = (1<<4),  
      CONSTRUCTOR     = (1<<5),  
      DESTRUCTOR      = (1<<6) , 
      EXPLICIT        = (1<<7),  
      EXTERN          = (1<<8) , 
      COPYCONSTRUCTOR = (1<<9) , 
      OPERATOR        = (1<<10), 
      INLINE          = (1<<11), 
      CONVERTER       = (1<<12), 
      AUTO            = (1<<13), 
      MUTABLE         = (1<<14), 
      CONST           = (1<<15), 
      VOLATILE        = (1<<16), 
      REFERENCE       = (1<<17), 
      ABSTRACT        = (1<<18), 
      VIRTUAL         = (1<<19), 
      TRANSIENT       = (1<<20), 
      ARTIFICIAL      = (1<<21), 
      
      TEMPLATEDEFAULTS1  = (0<<31)&(0<<30)&(0<<29)&(1<<28),
      TEMPLATEDEFAULTS2  = (0<<31)&(0<<30)&(1<<29)&(0<<28),
      TEMPLATEDEFAULTS3  = (0<<31)&(0<<30)&(1<<29)&(1<<28),
      TEMPLATEDEFAULTS4  = (0<<31)&(1<<30)&(0<<29)&(0<<28),
      TEMPLATEDEFAULTS5  = (0<<31)&(1<<30)&(0<<29)&(1<<28),
      TEMPLATEDEFAULTS6  = (0<<31)&(1<<30)&(1<<29)&(0<<28),
      TEMPLATEDEFAULTS7  = (0<<31)&(1<<30)&(1<<29)&(1<<28),
      TEMPLATEDEFAULTS8  = (1<<31)&(0<<30)&(0<<29)&(0<<28),
      TEMPLATEDEFAULTS9  = (1<<31)&(0<<30)&(0<<29)&(1<<28),
      TEMPLATEDEFAULTS10 = (1<<31)&(0<<30)&(1<<29)&(0<<28),
      TEMPLATEDEFAULTS11 = (1<<31)&(0<<30)&(1<<29)&(1<<28),
      TEMPLATEDEFAULTS12 = (1<<31)&(1<<30)&(0<<29)&(0<<28),
      TEMPLATEDEFAULTS13 = (1<<31)&(1<<30)&(0<<29)&(1<<28),
      TEMPLATEDEFAULTS14 = (1<<31)&(1<<30)&(1<<29)&(0<<28),
      TEMPLATEDEFAULTS15 = (1<<31)&(1<<30)&(1<<29)&(1<<28)
   };
   
   enum ENTITY_HANDLING {
      FINAL     = (1<<0),
      QUALIFIED = (1<<1),
      SCOPED    = (1<<2),
      F         = (1<<4),
      Q         = (1<<5),
      S         = (1<<6)
   };
   
   enum TYPE {
      CLASS = 0,
      STRUCT,
      ENUM,
      FUNCTION,
      ARRAY,
      FUNDAMENTAL,
      POINTER,
      POINTERTOMEMBER,
      TYPEDEF,
      UNION,
      TYPETEMPLATEINSTANCE,
      MEMBERTEMPLATEINSTANCE,
      NAMESPACE,
      DATAMEMBER,
      FUNCTIONMEMBER,
      UNRESOLVED
   };
   
   size_t NPos();
   
   typedef void * (* StubFunction) ( void *, const std::vector < void * > &, void *);
   
   typedef size_t (* OffsetFunction) ( void * );
   
   class RFLX_API NullType {};
   class RFLX_API UnknownType {};
   
   class RFLX_API ProtectedClass {};
   class RFLX_API ProtectedEnum {};
   class RFLX_API ProtectedStruct {};
   class RFLX_API ProtectedUnion {};
   
   class RFLX_API PrivateClass {};
   class RFLX_API PrivateEnum {};
   class RFLX_API PrivateStruct {};
   class RFLX_API PrivateUnion {};
   
   class RFLX_API UnnamedClass {};
   class RFLX_API UnnamedEnum {};
   class RFLX_API UnnamedNamespace {};
   class RFLX_API UnnamedStruct {};
   class RFLX_API UnnamedUnion {};
   
   class RFLX_EXCEPTIONAPI(RFLX_API) RuntimeError : public std::exception {
   public:
      RuntimeError(const std::string& msg) : fMsg(Reflex::Argv0() + ": " + msg) { }
      ~RuntimeError() throw() {}
      virtual const char * what() const throw( ) { return fMsg.c_str();}
      std::string fMsg;
   };
} 
namespace ROOT {
   namespace Reflex {
      using namespace ::Reflex;
   }
}
inline size_t Reflex::NPos() {
   return (size_t) -1;
}
#endif // Reflex_Kernel
Last change: Tue May 13 17:03:08 2008
Last generated: 2008-05-13 17:03
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.