OnixS ICE iMpact Multicast Price Feed Handler C++ library
8.20.0
Users' manual and API documentation
Loading...
Searching...
No Matches
Compiler.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) Onix Solutions Limited. All rights reserved.
3
*
4
* This software owned by Onix Solutions Limited 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 <new>
23
24
// ONIXS_ICEMDH_LAUNDER(ptr)
25
//
26
// Returns a pointer to the object located at the address of `ptr`.
27
//
28
// Expands to `std::launder` from C++17 on, to `__builtin_launder` where the
29
// compiler provides it, and to `ptr` otherwise.
30
31
#if defined(__cpp_lib_launder) && __cpp_lib_launder >= 201606L
32
# define ONIXS_ICEMDH_LAUNDER(ptr) std::launder(ptr)
33
#elif defined(__has_builtin)
34
# if __has_builtin(__builtin_launder)
35
# define ONIXS_ICEMDH_LAUNDER(ptr) __builtin_launder(ptr)
36
# endif
37
#elif defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 7
38
// GCC provides the builtin since 7, and `__has_builtin` since 10.
39
# define ONIXS_ICEMDH_LAUNDER(ptr) __builtin_launder(ptr)
40
#endif
41
42
#ifndef ONIXS_ICEMDH_LAUNDER
43
# define ONIXS_ICEMDH_LAUNDER(ptr) (ptr)
44
#endif
OnixS
ICE
iMpact
MarketData
Compiler.h
Technical Support:
support@onixs.biz
Copyright © 2026 OnixS. All Rights Reserved.