vtkABINamespace.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 #ifndef vtkABINamespace_h
4 #define vtkABINamespace_h
5 
6 #define VTK_HAS_ABI_NAMESPACE 0
7 
8 #if !defined(VTK_NO_ABI_NAMESPACE) && VTK_HAS_ABI_NAMESPACE
9 // NOTE: VTK_ABI_NAMESPACE_NAME is only characters [a-zA-Z0-9_]+, so it is safe
10 // to use in the MANGLE macro beneath. We use the VTK_ABI_NAMESPACE_MANGLE to
11 // mangle C symbols coming from VTK (e.g., extern "C" { void some_func(); }).
12 #define VTK_ABI_NAMESPACE_NAME
13 #define VTK_ABI_NAMESPACE_MANGLE(x) _##x
14 
15 #if defined(__cplusplus)
16 #define VTK_ABI_NAMESPACE_BEGIN
17 #define VTK_ABI_NAMESPACE_END
18 #else
19 #define VTK_ABI_NAMESPACE_BEGIN
20 #define VTK_ABI_NAMESPACE_END
21 #endif
22 
23 #else
24 
25 #define VTK_ABI_NAMESPACE_MANGLE(x) x
26 #define VTK_ABI_NAMESPACE_BEGIN
27 #define VTK_ABI_NAMESPACE_END
28 
29 #endif // VTK_NO_ABI_NAMESPACE
30 
31 #endif // vtkABINamespace_h