#ifndef BB_TYPES_H #define BB_TYPES_H #include "bbstd.h" typedef bool bbBool; typedef signed char bbByte; typedef unsigned char bbUByte; typedef signed short bbShort; typedef unsigned short bbUShort; typedef signed int bbInt; typedef unsigned int bbUInt; typedef signed long long bbLong; typedef unsigned long long bbULong; typedef float bbFloat; typedef double bbDouble; typedef unsigned short bbChar; class bbString; template class bbFunction; template class bbArray; template struct bbGCVar; struct bbVariant; struct bbTypeInfo; struct bbDeclInfo; namespace detail{ template struct seq { }; template struct gen_seq : gen_seq { }; template struct gen_seq<0,I...> : seq { }; template struct remove_pointer { typedef T type; }; template struct remove_pointer { typedef typename remove_pointer::type type; }; } bbString bbTypeName( const char *type ); template bool operator<( const T &x,const T &y ){ return memcmp( &x,&y,sizeof(T) ); } template int bbCompare( const X &x,const Y &y ){ if( x