Infinispan HotRod C++ Client
8.2.1.Final
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
infinispan
hotrod
defs.h
Go to the documentation of this file.
1
#ifndef ISPN_HOTROD_DEFS_H
2
#define ISPN_HOTROD_DEFS_H
3
4
#include "
infinispan/hotrod/ImportExport.h
"
5
6
#include <memory>
7
8
/*
9
* Handle special cases for stdint.h and the definition for ssize_t.
10
* Third party libraries (e.g. Boost) may provide competing solutions.
11
*
12
* The effects of this include file may be controlled by overrides:
13
* PN_DEFINE_STDINT/PN_NODEFINE_STDINT : turn on/off definition of int64_t etc.
14
* PN_DEFINE_SSIZE_T/PN_NODEFINE_SSIZE_T : turn on/off definition of ssize_t
15
* PN_INCLUDE_STDINT/PN_NOINCLUDE_STDINT : include (or not) stdint.h
16
*/
17
18
// Honor positive overrides
19
#if defined(PN_DEFINE_STDINT)
20
#define PNI_DEFINE_STDINT
21
#endif
22
#if defined(PN_INCLUDE_STDINT)
23
#define PNI_INCLUDE_STDINT)
24
#endif
25
#if defined(PN_DEFINE_SSIZE_T)
26
#define PNI_DEFINE_SSIZE_T
27
#endif
28
29
// Determinine default action
30
#ifndef _MSC_VER
31
// Not Windows and not using Visual Studio
32
#ifndef PNI_INCLUDE_STDINT
33
#define PNI_INCLUDE_STDINT
34
#endif
35
#else
36
// all versions of Visual Studio
37
#ifndef PNI_DEFINE_SSIZE_T
38
// ssie_t def is needed, unless third party definition interferes, e.g. python/swig
39
#ifndef Py_CONFIG_H
40
#define PNI_DEFINE_SSIZE_T
41
#endif
42
#endif
43
44
#if (_MSC_VER < 1600)
45
// VS 2008 and earlier
46
#ifndef PNI_DEFINE_STDINT
47
#define PNI_DEFINE_STDINT
48
#endif
49
#else
50
// VS 2010 and newer
51
#ifndef PNI_INCLUDE_STDINT
52
#define PNI_INCLUDE_STDINT
53
#endif
54
55
#endif // (_MSC_VER < 1600)
56
#endif //_MSC_VER
57
58
// Honor negative overrides
59
#ifdef PN_NODEFINE_SSIZE_T
60
#undef PNI_DEFINE_SSIZE_T
61
#endif
62
#ifdef PN_NODEFINE_STDINT
63
#undef PNI_DEFINE_STDINT
64
#endif
65
#ifdef PN_NOINCLUDE_STDINT
66
#undef PNI_INCLUDE_STDINT
67
#endif
68
69
#ifdef PNI_INCLUDE_STDINT
70
#include <stdint.h>
71
#endif
72
73
#ifdef PNI_DEFINE_SSIZE_T
74
#ifdef _MSC_VER
75
#include <BaseTsd.h>
76
typedef
SSIZE_T ssize_t;
77
#else
78
#error ssize_t definition not kown
79
#endif
80
#endif // PNI_DEFINE_SSIZE_T
81
82
#ifdef PNI_DEFINE_STDINT
83
#ifdef _MSC_VER
84
85
typedef
signed
__int8 int8_t;
86
typedef
signed
__int16 int16_t;
87
typedef
signed
__int32 int32_t;
88
typedef
signed
__int64 int64_t;
89
90
typedef
unsigned
__int8 uint8_t;
91
typedef
unsigned
__int16 uint16_t;
92
typedef
unsigned
__int32 uint32_t;
93
typedef
unsigned
__int64 uint64_t;
94
95
#else // _MSC_VER
96
#error stdint.h definitions not kown
97
#endif
98
#endif // PNI_DEFINE_SSIZE_T
99
100
#ifdef _MSC_VER
101
# define strtoull _strtoui64
102
#endif
103
104
// warnings
105
#ifndef _MSC_VER
106
# define __pragma(...)
107
#endif
108
109
#endif
/* ISPN_HOTROD_DEFS_H */
ImportExport.h
Generated by
1.8.5