#ifndef ROOT_Reflex_Kernel
#define ROOT_Reflex_Kernel
#if __GNUC__ >= 4 && !defined(__CINT__)
#  define GCC_HASCLASSVISIBILITY
#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 _WIN32
#ifdef CONST
#undef CONST
#endif
#pragma warning ( disable : 4786 )
#pragma warning ( disable : 4291 )
#pragma warning ( disable : 4250 )
#endif
#include <limits>
#if defined(_WIN32) && !defined(__CINT__)
typedef __int64 longlong;
typedef unsigned __int64 ulonglong;
#elif defined(__linux) || defined(sun) || defined(__APPLE__) || (defined(__CYGWIN__)&&defined(__GNUC__)) || defined(_AIX) || (defined(__alpha)&&!defined(__linux)) || defined(__sgi) || defined(__FreeBSD__)
typedef long long int longlong; 
typedef unsigned long long int  ulonglong;
#endif
#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 ROOT {
   namespace Reflex {
      
      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 > RFLX_API const T & Get() {
            static T t;
            return t;
         }
      }
      
      class RFLX_API Reflex {
         public:
         
         Reflex();
         
         ~Reflex();
         static void Shutdown();
         
         static 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;
      };
   } 
} 
inline size_t ROOT::Reflex::NPos() {
   return (size_t) -1;
}
#endif // ROOT_Reflex_Kernel
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.