bbtypes.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef BB_TYPES_H
  2. #define BB_TYPES_H
  3. #include "bbstd.h"
  4. typedef bool bbBool;
  5. typedef signed char bbByte;
  6. typedef unsigned char bbUByte;
  7. typedef signed short bbShort;
  8. typedef unsigned short bbUShort;
  9. typedef signed int bbInt;
  10. typedef unsigned int bbUInt;
  11. typedef signed long long bbLong;
  12. typedef unsigned long long bbULong;
  13. typedef float bbFloat;
  14. typedef double bbDouble;
  15. typedef unsigned short bbChar;
  16. class bbString;
  17. template<class T> class bbFunction;
  18. template<class T,int D=1> class bbArray;
  19. template<class T> struct bbGCVar;
  20. struct bbVariant;
  21. struct bbTypeInfo;
  22. struct bbDeclInfo;
  23. namespace detail{
  24. template<int...I> struct seq { };
  25. template<int N, int...I> struct gen_seq : gen_seq<N-1,N-1,I...> { };
  26. template<int...I> struct gen_seq<0,I...> : seq<I...> { };
  27. template<typename T> struct remove_pointer { typedef T type; };
  28. template<typename T> struct remove_pointer<T*> { typedef typename remove_pointer<T>::type type; };
  29. }
  30. bbString bbTypeName( const char *type );
  31. template<class X,class Y> int bbCompare( X x,Y y ){
  32. if( y>x ) return -1;
  33. return x>y;
  34. }
  35. #endif