ReactivePlusPlus
ReactiveX implementation for C++20
Loading...
Searching...
No Matches
defs.hpp
1// ReactivePlusPlus library
2//
3// Copyright Aleksey Loginov 2023 - present.
4// Distributed under the Boost Software License, Version 1.0.
5// (See accompanying file LICENSE_1_0.txt or copy at
6// https://www.boost.org/LICENSE_1_0.txt)
7//
8// Project home: https://github.com/victimsnino/ReactivePlusPlus
9
10#pragma once
11
12// MSVC has bad support for the empty base classes, but provides specificator to enable full support. GCC/Clang works as expected
13#if defined(_MSC_VER) && _MSC_FULL_VER >= 190023918
14 #define RPP_EMPTY_BASES __declspec(empty_bases)
15#else
16 #define RPP_EMPTY_BASES
17#endif
18
19#if defined(__APPLE__) && defined(__clang__) // apple works unexpectedly bad on clang 15 =C
20 #define RPP_NO_UNIQUE_ADDRESS
21#else
22 #define RPP_NO_UNIQUE_ADDRESS [[no_unique_address]]
23#endif