OnixS C++ CME MDP Premium Market Data Handler 5.10.2
Users' manual and API documentation
Loading...
Searching...
No Matches
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 <cstddef>
24#include <cassert>
25
26#include <OnixS/CME/MDH/Export.h>
28
29#if defined(_MSC_VER)
30# define ONIXS_CMEMDH_EXPORTED_DECL(entity, typeName) entity ONIXS_CMEMDH_EXPORTED typeName
31#else
32# define ONIXS_CMEMDH_EXPORTED_DECL(entity, typeName) entity typeName
33#endif
34
35#define ONIXS_CMEMDH_EXPORTED_CLASS_DECL(typeName) ONIXS_CMEMDH_EXPORTED_DECL(class, typeName)
36#define ONIXS_CMEMDH_EXPORTED_STRUCT_DECL(typeName) ONIXS_CMEMDH_EXPORTED_DECL(struct, typeName)
37#define ONIXS_CMEMDH_INTERNAL_CLASS_DECL(typeName) class typeName
38#define ONIXS_CMEMDH_INTERNAL_STRUCT_DECL(typeName) struct typeName
39
40#if defined(ONIXS_CMEMDH_LTWT_AS_EXPORTED)
41# define ONIXS_CMEMDH_LTWT ONIXS_CMEMDH_EXPORTED
42# define ONIXS_CMEMDH_LTWT_EXPORTED /* Nothing */
43# define ONIXS_CMEMDH_LTWT_CLASS_DECL(name) ONIXS_CMEMDH_EXPORTED_CLASS_DECL(name)
44# define ONIXS_CMEMDH_LTWT_STRUCT_DECL(name) ONIXS_CMEMDH_EXPORTED_STRUCT_DECL(name)
45#else
46# define ONIXS_CMEMDH_LTWT /* Nothing */
47# define ONIXS_CMEMDH_LTWT_EXPORTED ONIXS_CMEMDH_EXPORTED
48# define ONIXS_CMEMDH_LTWT_CLASS_DECL(name) class name
49# define ONIXS_CMEMDH_LTWT_STRUCT_DECL(name) struct name
50#endif // ONIXS_CMEMDH_LTWT_AS_EXPORTED
51
52// A few decorations for better source-code crafting.
53// clang-format off
54#define ONIXS_CMEMDH_NAMESPACE_BEGIN namespace OnixS { namespace CME { namespace MDH {
55#define ONIXS_CMEMDH_NAMESPACE_END }}}
56
57#define ONIXS_CMEMDH_MESSAGING_NAMESPACE_BEGIN ONIXS_CMEMDH_NAMESPACE_BEGIN namespace Messaging {
58#define ONIXS_CMEMDH_MESSAGING_NAMESPACE_END ONIXS_CMEMDH_NAMESPACE_END }
59
60#define ONIXS_CMEMDH_MESSAGING_TAGBASED_NAMESPACE_BEGIN ONIXS_CMEMDH_MESSAGING_NAMESPACE_BEGIN namespace FIX {
61#define ONIXS_CMEMDH_MESSAGING_TAGBASED_NAMESPACE_END }}}}}
62
63#define ONIXS_CME_MDH_TESTING_NAMESPACE_BEGIN ONIXS_CMEMDH_NAMESPACE_BEGIN namespace Test {
64#define ONIXS_CME_MDH_TESTING_NAMESPACE_END }}}}
65
66#define ONIXS_CMEMDH_NAMESPACE OnixS::CME::MDH
67#define ONIXS_CMEMDH_MESSAGING_NAMESPACE ONIXS_CMEMDH_NAMESPACE::Messaging
68#define ONIXS_CMEMDH_MESSAGING_TAGBASED_NAMESPACE ONIXS_CMEMDH_MESSAGING_NAMESPACE::FIX
69#define ONIXS_CME_MDH_TESTING_NAMESPACE ONIXS_CMEMDH_NAMESPACE::Test
70
71#define ONIXS_CMEMDHFIX_NAMESPACE_BEGIN ONIXS_CMEMDH_NAMESPACE_BEGIN namespace FIX {
72#define ONIXS_CMEMDHFIX_NAMESPACE_END ONIXS_CMEMDH_NAMESPACE_END }
73
74// clang-format on