Go to the documentation of this file.
39#ifndef BLOCXX_TYPES_HPP_INCLUDE_GUARD_
40#define BLOCXX_TYPES_HPP_INCLUDE_GUARD_
41#include "blocxx/BLOCXX_config.h"
45#define WIN32_LEAN_AND_MEAN
55#error "BLOCXX_Types.hpp can only be included by c++ files"
68#if BLOCXX_SIZEOF_SHORT_INT == 2
69typedef unsigned short UInt16;
71#define BLOCXX_INT16_IS_SHORT 1
72#elif BLOCXX_SIZEOF_INT == 2
73typedef unsigned int UInt16;
75#define BLOCXX_INT16_IS_INT 1
77#if BLOCXX_SIZEOF_INT == 4
78typedef unsigned int UInt32;
80#define BLOCXX_INT32_IS_INT 1
81#elif BLOCXX_SIZEOF_LONG_INT == 4
82typedef unsigned long UInt32;
84#define BLOCXX_INT32_IS_LONG 1
86#if BLOCXX_SIZEOF_LONG_INT == 8
87typedef unsigned long UInt64;
89#define BLOCXX_INT64_IS_LONG 1
90#elif BLOCXX_SIZEOF_LONG_LONG_INT == 8
91typedef unsigned long long UInt64;
92typedef long long Int64;
93#define BLOCXX_INT64_IS_LONG_LONG 1
95#error "Compiler must support 64 bit long"
97#if BLOCXX_SIZEOF_DOUBLE == 8
99#define BLOCXX_REAL64_IS_DOUBLE 1
100#elif BLOCXX_SIZEOF_LONG_DOUBLE == 8
101typedef long double Real64;
102#define BLOCXX_REAL64_IS_LONG_DOUBLE 1
104#if BLOCXX_SIZEOF_FLOAT == 4
106#define BLOCXX_REAL32_IS_FLOAT 1
107#elif BLOCXX_SIZEOF_DOUBLE == 4
108typedef double Real32;
109#define BLOCXX_REAL32_IS_DOUBLE 1
116#define BLOCXX_INVALID_HANDLE INVALID_HANDLE_VALUE
117#define BLOCXX_INVALID_FILEHANDLE INVALID_HANDLE_VALUE
125typedef struct {} siginfo_t;
127#define BLOCXX_SHAREDLIB_EXTENSION ".dll"
128#define BLOCXX_FILENAME_SEPARATOR "\\"
129#define BLOCXX_FILENAME_SEPARATOR_C '\\'
130#define BLOCXX_PATHNAME_SEPARATOR ";"
136#define BLOCXX_INVALID_HANDLE -1
137#define BLOCXX_INVALID_FILEHANDLE -1
141#if defined BLOCXX_DARWIN
142#define BLOCXX_SHAREDLIB_EXTENSION ".dylib.bundle"
143#elif defined BLOCXX_HPUX && !defined(BLOCXX_ARCH_IA64)
144#define BLOCXX_SHAREDLIB_EXTENSION ".sl"
145#elif defined BLOCXX_HPUX
146#define BLOCXX_SHAREDLIB_EXTENSION ".so"
147#elif defined BLOCXX_NETWARE
148#define BLOCXX_SHAREDLIB_EXTENSION ".nlm"
150#define BLOCXX_SHAREDLIB_EXTENSION ".so"
153#define BLOCXX_FILENAME_SEPARATOR "/"
154#define BLOCXX_FILENAME_SEPARATOR_C '/'
155#define BLOCXX_PATHNAME_SEPARATOR ":"