OnixS C++ CME MDP Streamlined Market Data Handler
1.2.0
API Documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
OnixS
CME
Streamlined
Bootstrap.h
Go to the documentation of this file.
1
// Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2
//
3
// This software owned by Onix Solutions Limited [OnixS] and is
4
// protected by copyright law and international copyright treaties.
5
//
6
// Access to and use of the software is governed by the terms of the applicable
7
// OnixS Software Services Agreement (the Agreement) and Customer end user license
8
// agreements granting a non-assignable, non-transferable and non-exclusive license
9
// to use the software for it's own data processing purposes under the terms defined
10
// in the Agreement.
11
//
12
// Except as otherwise granted within the terms of the Agreement, copying or
13
// reproduction of any part of this source code or associated reference material
14
// to any other location for further reproduction or redistribution, and any
15
// amendments to this copyright notice, are expressly prohibited.
16
//
17
// Any reproduction or redistribution for sale or hiring of the Software not in
18
// accordance with the terms of the Agreement is a violation of copyright law.
19
//
20
21
#pragma once
22
23
#include <
OnixS/CME/Streamlined/Compiler.h
>
24
#include <OnixS/CME/Streamlined/Export.h>
25
26
// Exporting services.
27
28
#if defined (_MSC_VER)
29
30
// Qualifiers for public/exported entities.
31
32
#define \
33
ONIXS_CMESTREAMLINEDMDH_EXPORTED_DECL(entity, typeName) \
34
entity ONIXS_CMESTREAMLINEDMDH_EXPORTED typeName
35
36
#define \
37
ONIXS_CMESTREAMLINEDMDH_INTERNAL_DECL(entity, typeName) \
38
entity ONIXS_CMESTREAMLINEDMDH_INTERNAL typeName
39
40
#else
41
42
#define \
43
ONIXS_CMESTREAMLINEDMDH_EXPORTED_DECL(entity, typeName) \
44
entity typeName
45
46
#define \
47
ONIXS_CMESTREAMLINEDMDH_INTERNAL_DECL(entity, typeName) \
48
entity typeName
49
50
#endif // Toolset selector.
51
52
// Common part of export-related decorations.
53
54
#define \
55
ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS_DECL(typeName) \
56
ONIXS_CMESTREAMLINEDMDH_EXPORTED_DECL(class, typeName)
57
58
#define \
59
ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT_DECL(typeName) \
60
ONIXS_CMESTREAMLINEDMDH_EXPORTED_DECL(struct, typeName)
61
62
#define \
63
ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS \
64
class ONIXS_CMESTREAMLINEDMDH_EXPORTED
65
66
#define \
67
ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT \
68
struct ONIXS_CMESTREAMLINEDMDH_EXPORTED
69
70
#define \
71
ONIXS_CMESTREAMLINEDMDH_INTERNAL_CLASS_DECL(typeName) \
72
ONIXS_CMESTREAMLINEDMDH_INTERNAL_DECL(class, typeName)
73
74
#define \
75
ONIXS_CMESTREAMLINEDMDH_INTERNAL_STRUCT_DECL(typeName) \
76
ONIXS_CMESTREAMLINEDMDH_INTERNAL_DECL(struct, typeName)
77
78
#define \
79
ONIXS_CMESTREAMLINEDMDH_INTERNAL_CLASS \
80
class ONIXS_CMESTREAMLINEDMDH_INTERNAL
81
82
#define \
83
ONIXS_CMESTREAMLINEDMDH_INTERNAL_STRUCT \
84
struct ONIXS_CMESTREAMLINEDMDH_INTERNAL
85
86
#if defined (ONIXS_CMESTREAMLINEDMDH_LTWT_AS_EXPORTED)
87
88
#define \
89
ONIXS_CMESTREAMLINEDMDH_LTWT_CLASS \
90
ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS
91
92
#define \
93
ONIXS_CMESTREAMLINEDMDH_LTWT_STRUCT \
94
ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT
95
96
#define \
97
ONIXS_CMESTREAMLINEDMDH_LTWT_EXPORTED \
98
/* Nothing */
99
100
#define \
101
ONIXS_CMESTREAMLINEDMDH_LTWT_CLASS_DECL(name) \
102
ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS_DECL(name)
103
104
#define \
105
ONIXS_CMESTREAMLINEDMDH_LTWT_STRUCT_DECL(name) \
106
ONIXS_CMESTREAMLINEDMDH_EXPORTED_STRUCT_DECL(name)
107
108
#else
109
110
#define \
111
ONIXS_CMESTREAMLINEDMDH_LTWT_CLASS \
112
class
113
114
#define \
115
ONIXS_CMESTREAMLINEDMDH_LTWT_STRUCT \
116
struct
117
118
#define \
119
ONIXS_CMESTREAMLINEDMDH_LTWT_EXPORTED \
120
ONIXS_CMESTREAMLINEDMDH_EXPORTED
121
122
#define \
123
ONIXS_CMESTREAMLINEDMDH_LTWT_CLASS_DECL(name) \
124
class name
125
126
#define \
127
ONIXS_CMESTREAMLINEDMDH_LTWT_STRUCT_DECL(name) \
128
struct name
129
130
#endif // ONIXS_CMESTREAMLINEDMDH_LTWT_AS_EXPORTED
131
132
// Structure packing.
133
134
#define \
135
ONIXS_CMESTREAMLINEDMDH_TO_STR(entity) \
136
#entity
137
138
#if defined (_MSC_VER)
139
140
#define \
141
ONIXS_CMESTREAMLINEDMDH_DATA_PACKING_BEGIN(alignment) \
142
__pragma(pack(push, alignment))
143
144
#define \
145
ONIXS_CMESTREAMLINEDMDH_DATA_PACKING_END \
146
__pragma(pack(pop))
147
148
#elif defined (__GNUC__) && (__GNUC__ >= 3)
149
150
#define \
151
ONIXS_CMESTREAMLINEDMDH_DATA_PACKING_BEGIN(alignment) \
152
_Pragma(ONIXS_CMESTREAMLINEDMDH_TO_STR(pack(push, alignment)))
153
154
#define \
155
ONIXS_CMESTREAMLINEDMDH_DATA_PACKING_END \
156
_Pragma("pack(pop)")
157
158
#else
159
160
#error \
161
Compiler toolset is not (yet) supported. \
162
Please contact support@onixs.biz for further assistance.
163
164
#endif
165
166
// A few decorations for better source-code crafting.
167
168
#define \
169
ONIXS_CMESTREAMLINEDMDH_NAMESPACE_BEGIN \
170
namespace OnixS { namespace CME { namespace Streamlined { namespace MDH {
171
172
#define \
173
ONIXS_CMESTREAMLINEDMDH_NAMESPACE_END \
174
}}}}
175
176
#define \
177
STD_NAMESPACE_BEGIN \
178
namespace std {
179
180
#define \
181
STD_NAMESPACE_END \
182
}
Compiler.h