OnixS C++ eSpeed ITCH Market Data Handler 1.7.3
API documentation
Loading...
Searching...
No Matches
Compiler.h
Go to the documentation of this file.
1/*
2* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3*
4* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5* and international copyright treaties.
6*
7* Access to and use of the software is governed by the terms of the applicable ONIXS Software
8* Services Agreement (the Agreement) and Customer end user license agreements granting
9* a non-assignable, non-transferable and non-exclusive license to use the software
10* for it's own data processing purposes under the terms defined in the Agreement.
11*
12* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13* of this source code or associated reference material to any other location for further reproduction
14* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15*
16* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17* the terms of the Agreement is a violation of copyright law.
18*/
19
20#pragma once
21
22#include <OnixS/eSpeed/MarketData/Itch/CompilerDetection.h>
23
24# if defined(ONIXS_ESPEED_ITCH_COMPILER_CXX_NOEXCEPT) && ONIXS_ESPEED_ITCH_COMPILER_CXX_NOEXCEPT
25# define ONIXS_ESPEED_ITCH_NOTHROW noexcept
26# else
27# define ONIXS_ESPEED_ITCH_NOTHROW throw()
28# endif
29
30
31# if defined(ONIXS_ESPEED_ITCH_COMPILER_CXX_EXPLICIT_CONVERSIONS) && ONIXS_ESPEED_ITCH_COMPILER_CXX_EXPLICIT_CONVERSIONS
32# define ONIXS_ESPEED_ITCH_EXPLICIT explicit
33#else
34# define ONIXS_ESPEED_ITCH_EXPLICIT
35#endif
36
37#if defined (__GNUC__)
38# if (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
39# define ONIXS_ESPEED_ITCH_GCC_CXX11
40# endif
41#endif
42
43# if defined(ONIXS_ESPEED_ITCH_COMPILER_CXX_CONSTEXPR) && ONIXS_ESPEED_ITCH_COMPILER_CXX_CONSTEXPR
44# define ONIXS_ESPEED_ITCH_CONST_OR_CONSTEXPR constexpr
45#else
46# define ONIXS_ESPEED_ITCH_CONST_OR_CONSTEXPR const
47#endif
48
49#if defined(__GNUC__)
50# define ONIXS_ESPEED_ITCH_CHECK_EXPECT(exp,c) (__builtin_expect((exp), c))
51#else
52# define ONIXS_ESPEED_ITCH_CHECK_EXPECT(exp,c) ((exp))
53#endif