VTK  9.3.20231205
vtkWrappingHints.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
11 #ifndef vtkWrappingHints_h
12 #define vtkWrappingHints_h
13 
14 #ifdef __VTK_WRAP__
15 #define VTK_WRAP_HINTS_DEFINED
16 // Exclude a method or class from wrapping
17 #define VTK_WRAPEXCLUDE [[vtk::wrapexclude]]
18 // The return value points to a newly-created VTK object.
19 #define VTK_NEWINSTANCE [[vtk::newinstance]]
20 // The parameter is a pointer to a zerocopy buffer.
21 #define VTK_ZEROCOPY [[vtk::zerocopy]]
22 // The parameter is a path on the filesystem.
23 #define VTK_FILEPATH [[vtk::filepath]]
24 // Set preconditions for a function
25 #define VTK_EXPECTS(x) [[vtk::expects(x)]]
26 // Set size hint for parameter or return value
27 #define VTK_SIZEHINT(...) [[vtk::sizehint(__VA_ARGS__)]]
28 #endif
29 
30 #ifndef VTK_WRAP_HINTS_DEFINED
31 #define VTK_WRAPEXCLUDE
32 #define VTK_NEWINSTANCE
33 #define VTK_ZEROCOPY
34 #define VTK_FILEPATH
35 #define VTK_EXPECTS(x)
36 #define VTK_SIZEHINT(...)
37 #endif
38 
39 #endif
40 // VTK-HeaderTest-Exclude: vtkWrappingHints.h