include
interactive_markers
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 Open Source Robotics Foundation, Inc. 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
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
33
// See the License for the specific language governing permissions and
34
// limitations under the License.
35
36
#ifndef INTERACTIVE_MARKERS__VISIBILITY_CONTROL_HPP_
37
#define INTERACTIVE_MARKERS__VISIBILITY_CONTROL_HPP_
38
39
// This logic was borrowed (then namespaced) from the examples on the gcc wiki:
40
// https://gcc.gnu.org/wiki/Visibility
41
42
#if defined _WIN32 || defined __CYGWIN__
43
#ifdef __GNUC__
44
#define INTERACTIVE_MARKERS_EXPORT __attribute__ ((dllexport))
45
#define INTERACTIVE_MARKERS_IMPORT __attribute__ ((dllimport))
46
#else
47
#define INTERACTIVE_MARKERS_EXPORT __declspec(dllexport)
48
#define INTERACTIVE_MARKERS_IMPORT __declspec(dllimport)
49
#endif
50
#ifdef INTERACTIVE_MARKERS_BUILDING_LIBRARY
51
#define INTERACTIVE_MARKERS_PUBLIC INTERACTIVE_MARKERS_EXPORT
52
#else
53
#define INTERACTIVE_MARKERS_PUBLIC INTERACTIVE_MARKERS_IMPORT
54
#endif
55
#define INTERACTIVE_MARKERS_PUBLIC_TYPE INTERACTIVE_MARKERS_PUBLIC
56
#define INTERACTIVE_MARKERS_LOCAL
57
#else
58
#define INTERACTIVE_MARKERS_EXPORT __attribute__ ((visibility("default")))
59
#define INTERACTIVE_MARKERS_IMPORT
60
#if __GNUC__ >= 4
61
#define INTERACTIVE_MARKERS_PUBLIC __attribute__ ((visibility("default")))
62
#define INTERACTIVE_MARKERS_LOCAL __attribute__ ((visibility("hidden")))
63
#else
64
#define INTERACTIVE_MARKERS_PUBLIC
65
#define INTERACTIVE_MARKERS_LOCAL
66
#endif
67
#define INTERACTIVE_MARKERS_PUBLIC_TYPE
68
#endif
69
70
#endif // INTERACTIVE_MARKERS__VISIBILITY_CONTROL_HPP_
interactive_markers
Author(s): David Gossow, William Woodall
autogenerated on Mon Feb 28 2022 22:33:22