Plotly.cpp
0.1.0
A C++ plotting library for expressive, interactive, real-time & streaming data visualization
Loading...
Searching...
No Matches
abi_macros.hpp
Go to the documentation of this file.
1
#pragma once
2
7
8
// Visibility macros for symbol exports
9
#if defined(_WIN32) || defined(__CYGWIN__)
10
#ifdef PLOTLY_BUILDING_LIB
11
#define PLOTLY_EXPORT __declspec(dllexport)
12
#else
13
#define PLOTLY_EXPORT __declspec(dllimport)
14
#endif
15
#else
16
#if __GNUC__ >= 4
17
#define PLOTLY_EXPORT __attribute__((visibility("default")))
18
#else
19
#define PLOTLY_EXPORT
20
#endif
21
#endif
22
23
// Deprecation markers
24
#if defined(__GNUC__) || defined(__clang__)
25
#define PLOTLY_DEPRECATED __attribute__((deprecated))
26
#define PLOTLY_DEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
27
#elif defined(_MSC_VER)
28
#define PLOTLY_DEPRECATED __declspec(deprecated)
29
#define PLOTLY_DEPRECATED_MSG(msg) __declspec(deprecated(msg))
30
#else
31
#define PLOTLY_DEPRECATED
32
#define PLOTLY_DEPRECATED_MSG(msg)
33
#endif
34
35
// Inline macros
36
#if defined(_MSC_VER) && !defined(__clang__)
37
#define PLOTLY_INLINE inline
38
#define PLOTLY_FORCE_INLINE __forceinline
39
#else
40
#define PLOTLY_INLINE inline
41
#define PLOTLY_FORCE_INLINE inline __attribute__((always_inline))
42
#endif
43
44
// Restrict keyword
45
#if defined(_MSC_VER) && !defined(__clang__)
46
#define PLOTLY_RESTRICT __restrict
47
#else
48
#define PLOTLY_RESTRICT __restrict__
49
#endif
include
plotly
abi_macros.hpp
Generated by
1.14.0