Honeycomb  0.1
Component-Model Framework
Core.h
Go to the documentation of this file.
1 // Honeycomb, Copyright (C) 2013 Daniel Carter. Distributed under the Boost Software License v1.0.
2 #pragma once
3 
4 // Windows headers
5 #ifndef WINVER
6  #define WINVER 0x0500
7 #endif
8 
9 #ifndef _WIN32_WINNT
10  #define _WIN32_WINNT 0x0500
11 #endif
12 
13 #include <winsock2.h>
14 #include <windows.h>
15 #include <shlwapi.h>
16 #include <process.h>
17 #include <assert.h>
18 
19 namespace honey
20 {
21 
22 // Define debug if windows _DEBUG is being used
23 #ifndef DEBUG
24  #ifdef _DEBUG
25  #define DEBUG
26  #endif
27 #endif
28 
31 typedef char int8;
32 typedef unsigned char uint8;
33 typedef short int16;
34 typedef unsigned short uint16;
35 typedef int int32;
36 typedef unsigned int uint32;
37 typedef long long int64;
38 typedef unsigned long long uint64;
39 typedef int64 int128;
40 typedef uint64 uint128;
42 
43 // Disable integer <-> bool conversion performance warning
44 #pragma warning(disable:4800)
45 
46 // Disable double -> float precision warning
47 #pragma warning(disable:4305)
48 // Disable int -> float precision warning
49 #pragma warning(disable:4244)
50 
53 
55 typedef long double float128;
57 
59 #define ENDIAN ENDIAN_LITTLE
60 
62 #define ALIGN(Bytes) __declspec(align(Bytes))
63 
65 #define __FUNC__ __FUNCSIG__
66 
68 #define FORCE_INLINE __forceinline
69 
70 }
71 
72 
73 #ifdef Core_priv
75 #endif
76 
77 
78 namespace honey
79 {
80 
83 #undef assert
84 #undef min
85 #undef max
86 #undef near
87 #undef far
88 
90 }
unsigned int uint32
Definition: Core.h:16
char int8
Definition: Core.h:11
unsigned long long uint64
Definition: Core.h:22
unsigned char uint8
Definition: Core.h:12
int int32
Definition: Core.h:15
unsigned short uint16
Definition: Core.h:14
long double float128
128 bit float type
Definition: Core.h:32
int64 int128
Definition: Core.h:24
long long int64
Definition: Core.h:21
short int16
Definition: Core.h:13
uint64 uint128
Definition: Core.h:25
Global Honeycomb namespace.