VTK  9.2.20230330
vtkWrappingHints.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWrappingHints.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
23 #ifndef vtkWrappingHints_h
24 #define vtkWrappingHints_h
25 
26 #ifdef __VTK_WRAP__
27 #define VTK_WRAP_HINTS_DEFINED
28 // Exclude a method or class from wrapping
29 #define VTK_WRAPEXCLUDE [[vtk::wrapexclude]]
30 // The return value points to a newly-created VTK object.
31 #define VTK_NEWINSTANCE [[vtk::newinstance]]
32 // The parameter is a pointer to a zerocopy buffer.
33 #define VTK_ZEROCOPY [[vtk::zerocopy]]
34 // The parameter is a path on the filesystem.
35 #define VTK_FILEPATH [[vtk::filepath]]
36 // Set preconditions for a function
37 #define VTK_EXPECTS(x) [[vtk::expects(x)]]
38 // Set size hint for parameter or return value
39 #define VTK_SIZEHINT(...) [[vtk::sizehint(__VA_ARGS__)]]
40 #endif
41 
42 #ifndef VTK_WRAP_HINTS_DEFINED
43 #define VTK_WRAPEXCLUDE
44 #define VTK_NEWINSTANCE
45 #define VTK_ZEROCOPY
46 #define VTK_FILEPATH
47 #define VTK_EXPECTS(x)
48 #define VTK_SIZEHINT(...)
49 #endif
50 
51 #endif
52 // VTK-HeaderTest-Exclude: vtkWrappingHints.h