JBoss Data Grid HotRod C++ Client
6.6.1
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
// Platform dependent shared_ptr definition. Todo: more platforms, more elegance.
7
#if (defined (__GNUC__) && __GNUC__ >= 4 ) || defined(SWIG) || defined(SWIGMAC)
8
#include <tr1/memory>
9
#define HR_SHARED_PTR std::tr1::shared_ptr
10
#elif defined (_MSC_VER) || defined(SWIGWIN)
11
// TODO: handle multiple VS versions
12
#include <memory>
13
#define HR_SHARED_PTR std::tr1::shared_ptr
14
#endif
15
16
/*
17
* Handle special cases for stdint.h and the definition for ssize_t.
18
* Third party libraries (e.g. Boost) may provide competing solutions.
19
*
20
* The effects of this include file may be controlled by overrides:
21
* PN_DEFINE_STDINT/PN_NODEFINE_STDINT : turn on/off definition of int64_t etc.
22
* PN_DEFINE_SSIZE_T/PN_NODEFINE_SSIZE_T : turn on/off definition of ssize_t
23
* PN_INCLUDE_STDINT/PN_NOINCLUDE_STDINT : include (or not) stdint.h
24
*/
25
26
// Honor positive overrides
27
#if defined(PN_DEFINE_STDINT)
28
#define PNI_DEFINE_STDINT
29
#endif
30
#if defined(PN_INCLUDE_STDINT)
31
#define PNI_INCLUDE_STDINT)
32
#endif
33
#if defined(PN_DEFINE_SSIZE_T)
34
#define PNI_DEFINE_SSIZE_T
35
#endif
36
37
// Determinine default action
38
#ifndef _MSC_VER
39
// Not Windows and not using Visual Studio
40
#ifndef PNI_INCLUDE_STDINT
41
#define PNI_INCLUDE_STDINT
42
#endif
43
#else
44
// all versions of Visual Studio
45
#ifndef PNI_DEFINE_SSIZE_T
46
// ssie_t def is needed, unless third party definition interferes, e.g. python/swig
47
#ifndef Py_CONFIG_H
48
#define PNI_DEFINE_SSIZE_T
49
#endif
50
#endif
51
52
#if (_MSC_VER < 1600)
53
// VS 2008 and earlier
54
#ifndef PNI_DEFINE_STDINT
55
#define PNI_DEFINE_STDINT
56
#endif
57
#else
58
// VS 2010 and newer
59
#ifndef PNI_INCLUDE_STDINT
60
#define PNI_INCLUDE_STDINT
61
#endif
62
63
#endif // (_MSC_VER < 1600)
64
#endif //_MSC_VER
65
66
// Honor negative overrides
67
#ifdef PN_NODEFINE_SSIZE_T
68
#undef PNI_DEFINE_SSIZE_T
69
#endif
70
#ifdef PN_NODEFINE_STDINT
71
#undef PNI_DEFINE_STDINT
72
#endif
73
#ifdef PN_NOINCLUDE_STDINT
74
#undef PNI_INCLUDE_STDINT
75
#endif
76
77
#ifdef PNI_INCLUDE_STDINT
78
#include <stdint.h>
79
#endif
80
81
#ifdef PNI_DEFINE_SSIZE_T
82
#ifdef _MSC_VER
83
#include <BaseTsd.h>
84
typedef
SSIZE_T ssize_t;
85
#else
86
#error ssize_t definition not kown
87
#endif
88
#endif // PNI_DEFINE_SSIZE_T
89
90
#ifdef PNI_DEFINE_STDINT
91
#ifdef _MSC_VER
92
93
typedef
signed
__int8 int8_t;
94
typedef
signed
__int16 int16_t;
95
typedef
signed
__int32 int32_t;
96
typedef
signed
__int64 int64_t;
97
98
typedef
unsigned
__int8 uint8_t;
99
typedef
unsigned
__int16 uint16_t;
100
typedef
unsigned
__int32 uint32_t;
101
typedef
unsigned
__int64 uint64_t;
102
103
#else // _MSC_VER
104
#error stdint.h definitions not kown
105
#endif
106
#endif // PNI_DEFINE_SSIZE_T
107
108
#ifdef _MSC_VER
109
# define strtoull _strtoui64
110
#endif
111
112
// warnings
113
#ifndef _MSC_VER
114
# define __pragma(...)
115
#endif
116
117
#endif
/* ISPN_HOTROD_DEFS_H */
ImportExport.h
Generated by
1.8.5