24#if defined (ONIXS_ICEBOE_COMPILER_IS_MSVC)
25#define ONIXS_ICEBOE_API_DECL(typeKind, typeName) typeKind ONIXS_ICEBOE_EXPORTED typeName
27#define ONIXS_ICEBOE_API_DECL(typeKind, typeName) typeKind typeName
33 ONIXS_ICEBOE_EXPORTED_CLASS_DECL(typeName) \
34 ONIXS_ICEBOE_EXPORTED_DECL(class, typeName)
37 ONIXS_ICEBOE_EXPORTED_STRUCT_DECL(typeName) \
38 ONIXS_ICEBOE_EXPORTED_DECL(struct, typeName)
41 ONIXS_ICEBOE_EXPORTED_CLASS \
42 class ONIXS_ICEBOE_EXPORTED
45 ONIXS_ICEBOE_EXPORTED_STRUCT \
46 struct ONIXS_ICEBOE_EXPORTED
49 ONIXS_ICEBOE_INTERNAL_CLASS_DECL(typeName) \
53 ONIXS_ICEBOE_INTERNAL_STRUCT_DECL(typeName) \
56#if defined(ONIXS_ICEBOE_COMPILER_IS_GNU)
57# define ONIXS_ICEBOE_DIAG_PUSH ONIXS_ICEBOE_PRAGMA(GCC diagnostic push)
58# define ONIXS_ICEBOE_DIAG_POP ONIXS_ICEBOE_PRAGMA(GCC diagnostic pop)
59#elif defined(ONIXS_ICEBOE_COMPILER_IS_MSVC)
60# define ONIXS_ICEBOE_DIAG_PUSH ONIXS_ICEBOE_PRAGMA(warning(push))
61# define ONIXS_ICEBOE_DIAG_POP ONIXS_ICEBOE_PRAGMA(warning(pop))
63# define ONIXS_ICEBOE_DIAG_PUSH
64# define ONIXS_ICEBOE_DIAG_POP
67#if defined(ONIXS_ICEBOE_COMPILER_IS_GNU) && (ONIXS_CURRENT_CXX_STD < 201402L) && defined(__INCLUDE_LEVEL__) && (__INCLUDE_LEVEL__ > 0)
68# define ONIXS_ICEBOE_SILENCE_PUBLIC_HEADER ONIXS_ICEBOE_PRAGMA(GCC system_header)
70# define ONIXS_ICEBOE_SILENCE_PUBLIC_HEADER
73#if defined(ONIXS_ICEBOE_COMPILER_IS_GNU) && (__GNUC__ == 8) && !defined(NDEBUG)
74# define ONIXS_ICEBOE_SILENCE_TYPE_LIMITS ONIXS_ICEBOE_PRAGMA(GCC diagnostic ignored "-Wtype-limits")
76# define ONIXS_ICEBOE_SILENCE_TYPE_LIMITS
79#if defined(ONIXS_ICEBOE_COMPILER_IS_MSVC)
80# define ONIXS_ICEBOE_SILENCE_DLLEXPORT ONIXS_ICEBOE_PRAGMA(warning(disable : 4275 4251))
82# define ONIXS_ICEBOE_SILENCE_DLLEXPORT
85#define ONIXS_ICEBOE_SILENCE_BEGIN \
86 ONIXS_ICEBOE_SILENCE_PUBLIC_HEADER \
87 ONIXS_ICEBOE_DIAG_PUSH \
88 ONIXS_ICEBOE_SILENCE_TYPE_LIMITS \
89 ONIXS_ICEBOE_SILENCE_DLLEXPORT
91#define ONIXS_ICEBOE_SILENCE_END \
94#define ONIXS_ICEBOE_NAMESPACE_BEGIN \
95 ONIXS_ICEBOE_SILENCE_BEGIN \
96 namespace OnixS { namespace ICE { namespace BOE {
98#define ONIXS_ICEBOE_NAMESPACE_END \
99 ONIXS_ICEBOE_SILENCE_END \
102#define ONIXS_ICEBOE_MESSAGING_NAMESPACE_BEGIN \
103 ONIXS_ICEBOE_NAMESPACE_BEGIN \
104 namespace Messaging {
106#define ONIXS_ICEBOE_MESSAGING_NAMESPACE_END \
107 ONIXS_ICEBOE_NAMESPACE_END \
110#define ONIXS_ICEBOE_MESSAGING_TAGBASED_NAMESPACE_BEGIN ONIXS_ICEBOE_MESSAGING_NAMESPACE_BEGIN namespace TagBased {
111#define ONIXS_ICEBOE_MESSAGING_TAGBASED_NAMESPACE_END ONIXS_ICEBOE_MESSAGING_NAMESPACE_END }
113#define ONIXS_ICEBOE_NAMESPACE OnixS::ICE::BOE
114#define ONIXS_ICEBOE_MESSAGING_NAMESPACE ONIXS_ICEBOE_NAMESPACE::Messaging
115#define ONIXS_ICEBOE_SCHEDULING_NAMESPACE ONIXS_ICEBOE_NAMESPACE::Scheduling
121#define ONIXS_ICEBOE_EMPTY_BODY(...) { ONIXS_ICEBOE_NAMESPACE::Utils::unusedArgs(__VA_ARGS__); }
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
#define ONIXS_ICEBOE_NAMESPACE_END
void unusedArgs(T &&...) noexcept