rcpputils
master
C++ API providing common utilities and data structures.
include
rcpputils
visibility_control.hpp
Go to the documentation of this file.
1
// Copyright (c) 2019, Open Source Robotics Foundation, Inc.
2
// All rights reserved.
3
//
4
// Software License Agreement (BSD License 2.0)
5
//
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions
8
// are met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
// * Redistributions in binary form must reproduce the above
13
// copyright notice, this list of conditions and the following
14
// disclaimer in the documentation and/or other materials provided
15
// with the distribution.
16
// * Neither the name of the copyright holders nor the names of its
17
// contributors may be used to endorse or promote products derived
18
// from this software without specific prior written permission.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
// POSSIBILITY OF SUCH DAMAGE.
32
33
#ifndef RCPPUTILS__VISIBILITY_CONTROL_HPP_
34
#define RCPPUTILS__VISIBILITY_CONTROL_HPP_
35
63
#if defined _WIN32 || defined __CYGWIN__
64
#ifdef __GNUC__
65
#define RCPPUTILS_EXPORT __attribute__ ((dllexport))
66
#define RCPPUTILS_IMPORT __attribute__ ((dllimport))
67
#else
68
#define RCPPUTILS_EXPORT __declspec(dllexport)
69
#define RCPPUTILS_IMPORT __declspec(dllimport)
70
#endif
71
#ifdef RCPPUTILS_BUILDING_LIBRARY
72
#define RCPPUTILS_PUBLIC RCPPUTILS_EXPORT
73
#else
74
#define RCPPUTILS_PUBLIC RCPPUTILS_IMPORT
75
#endif
76
#define RCPPUTILS_PUBLIC_TYPE RCPPUTILS_PUBLIC
77
#define RCPPUTILS_LOCAL
78
#else
79
#define RCPPUTILS_EXPORT __attribute__ ((visibility("default")))
80
#define RCPPUTILS_IMPORT
81
#if __GNUC__ >= 4
82
#define RCPPUTILS_PUBLIC __attribute__ ((visibility("default")))
83
#define RCPPUTILS_LOCAL __attribute__ ((visibility("hidden")))
84
#else
85
#define RCPPUTILS_PUBLIC
86
#define RCPPUTILS_LOCAL
87
#endif
88
#define RCPPUTILS_PUBLIC_TYPE
89
#endif
90
91
#endif // RCPPUTILS__VISIBILITY_CONTROL_HPP_
Generated by
1.8.17