IMP logo
IMP Reference Guide  2.18.0
The Integrative Modeling Platform
integrative_docking_config.h
1 // Autogenerated by ../../../../tmp/nightly-build-407/imp-2.18.0/tools/build/setup_module.py
2 // from ../../../../tmp/nightly-build-407/imp-2.18.0/tools/build/config_templates/header.h
3 // Do not edit - any changes will be lost!
4 
5 /*
6  * \file IMP/integrative_docking/integrative_docking_config.h
7  * \brief Provide macros to mark functions and classes as exported
8  * from a DLL/.so, and to set up namespaces
9  *
10  * When building the module, IMPINTEGRATIVEDOCKING_EXPORTS should be defined, and when
11  * using the module externally, it should not be. Classes and functions
12  * declared in the module's headers should then be marked with
13  * IMPINTEGRATIVEDOCKINGEXPORT if they are intended to be part of the API and
14  * they are not defined entirely in a header.
15  *
16  * The Windows build environment requires applications to mark exports in
17  * this way; we use the same markings to set the visibility of ELF symbols
18  * if we have compiler support.
19  *
20  * All code in this module should live in the IMP::integrative_docking namespace.
21  * This is simply achieved by wrapping things with the
22  * IMPINTEGRATIVEDOCKING_BEGIN_NAMESPACE and IMPINTEGRATIVEDOCKING_END_NAMESPACE macros.
23  * There are similar macros for module code that is designed to be for
24  * internal use only.
25  *
26  * Copyright 2007-2022 IMP Inventors. All rights reserved.
27  *
28  */
29 
30 #ifndef IMPINTEGRATIVEDOCKING_CONFIG_H
31 #define IMPINTEGRATIVEDOCKING_CONFIG_H
32 
33 #include <IMP/kernel_config.h>
34 #include <string>
35 
36 #ifdef _MSC_VER
37 #define NOMINMAX
38 
39 #ifdef IMPINTEGRATIVEDOCKING_EXPORTS
40 #define IMPINTEGRATIVEDOCKINGEXPORT __declspec(dllexport)
41 #else // EXPORTS
42 #define IMPINTEGRATIVEDOCKINGEXPORT __declspec(dllimport)
43 #endif // EXPORTS
44 
45 #else // _MSC_VER
46 
47 #ifdef GCC_VISIBILITY
48 #define IMPINTEGRATIVEDOCKINGEXPORT __attribute__((visibility("default")))
49 #else // GCC_VISIBILITY
50 #define IMPINTEGRATIVEDOCKINGEXPORT
51 #endif // GCC_VISIBILITY
52 
53 #endif // _MSC_VER
54 
55 #if defined(_MSC_VER) && !defined(SWIG)
56 #ifdef IMPINTEGRATIVEDOCKING_EXPORTS
57 
58 #define IMPINTEGRATIVEDOCKING_EXPORT_TEMPLATE(name) \
59  template class __declspec(dllexport) name
60 
61 #else //EXPORTS
62 
63 #define IMPINTEGRATIVEDOCKING_EXPORT_TEMPLATE(name) \
64  template class __declspec(dllimport) name
65 
66 #endif // EXPORTS
67 
68 #else // MSC and SWIG
69 #define IMPINTEGRATIVEDOCKING_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE
70 
71 #endif // MSC and SWIG
72 
73 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
74 
75 #define IMPINTEGRATIVEDOCKING_BEGIN_NAMESPACE \
76  IMP_COMPILER_ENABLE_WARNINGS namespace IMP{ namespace integrative_docking {
77 
78 #define IMPINTEGRATIVEDOCKING_END_NAMESPACE } } \
79 IMP_COMPILER_DISABLE_WARNINGS
80 
81 #define IMPINTEGRATIVEDOCKING_BEGIN_INTERNAL_NAMESPACE IMPINTEGRATIVEDOCKING_BEGIN_NAMESPACE \
82  namespace internal {
83 
84 #define IMPINTEGRATIVEDOCKING_END_INTERNAL_NAMESPACE } IMPINTEGRATIVEDOCKING_END_NAMESPACE
85 
86 #else // SWIG and DOXYGEN
87 #define IMPINTEGRATIVEDOCKING_BEGIN_NAMESPACE namespace IMP{ namespace integrative_docking {
88 
89 #define IMPINTEGRATIVEDOCKING_END_NAMESPACE } }
90 
91 #define IMPINTEGRATIVEDOCKING_BEGIN_INTERNAL_NAMESPACE IMPINTEGRATIVEDOCKING_BEGIN_NAMESPACE\
92  namespace internal {
93 
94 #define IMPINTEGRATIVEDOCKING_END_INTERNAL_NAMESPACE } IMPINTEGRATIVEDOCKING_END_NAMESPACE
95 
96 #endif // SWIG AND DOXYGEN
97 
98 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_ALGEBRA
99 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_ALGEBRA 1
100 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_ATOM
101 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_ATOM 1
102 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_CGAL
103 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_CGAL 1
104 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_CONTAINER
105 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_CONTAINER 1
106 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_CORE
107 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_CORE 1
108 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_DISPLAY
109 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_DISPLAY 1
110 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_DOMINO
111 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_DOMINO 1
112 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_GSL
113 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_GSL 1
114 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_ISD
115 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_ISD 1
116 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_KERNEL
117 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_KERNEL 1
118 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_RMF
119 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_RMF 1
120 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_SCORE_FUNCTOR
121 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_SCORE_FUNCTOR 1
122 #define IMP_INTEGRATIVE_DOCKING_USE_IMP_STATISTICS
123 #define IMP_INTEGRATIVE_DOCKING_HAS_IMP_STATISTICS 1
124 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_FILESYSTEM
125 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_FILESYSTEM 1
126 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_GRAPH
127 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_GRAPH 1
128 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_RANDOM
129 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_RANDOM 1
130 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_REGEX
131 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_REGEX 1
132 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_SERIALIZATION
133 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_SERIALIZATION 1
134 #define IMP_INTEGRATIVE_DOCKING_USE_BOOST_SYSTEM
135 #define IMP_INTEGRATIVE_DOCKING_HAS_BOOST_SYSTEM 1
136 #define IMP_INTEGRATIVE_DOCKING_USE_CGAL
137 #define IMP_INTEGRATIVE_DOCKING_HAS_CGAL 1
138 #define IMP_INTEGRATIVE_DOCKING_USE_FFTW3
139 #define IMP_INTEGRATIVE_DOCKING_HAS_FFTW3 1
140 #define IMP_INTEGRATIVE_DOCKING_USE_GSL
141 #define IMP_INTEGRATIVE_DOCKING_HAS_GSL 1
142 #define IMP_INTEGRATIVE_DOCKING_USE_HDF5
143 #define IMP_INTEGRATIVE_DOCKING_HAS_HDF5 1
144 #define IMP_INTEGRATIVE_DOCKING_USE_NUMPY
145 #define IMP_INTEGRATIVE_DOCKING_HAS_NUMPY 1
146 #define IMP_INTEGRATIVE_DOCKING_USE_OPENCV22
147 #define IMP_INTEGRATIVE_DOCKING_HAS_OPENCV22 1
148 #define IMP_INTEGRATIVE_DOCKING_USE_RMF
149 #define IMP_INTEGRATIVE_DOCKING_HAS_RMF 1
150 #define IMP_INTEGRATIVE_DOCKING_USE_PYTHON_IHM
151 #define IMP_INTEGRATIVE_DOCKING_HAS_PYTHON_IHM 1
152 
153 // functions are defined explicitly for SWIG
154 namespace IMP{ namespace integrative_docking {
155 /** \name Standard module functions
156  All \imp modules have a set of standard functions to help get information
157  about the module and about files associated with the module.
158  @{
159  */
160 #if !defined(SWIG)
161  IMPINTEGRATIVEDOCKINGEXPORT std::string get_module_version();
162 #endif
163 
164 #if !defined(SWIG)
165  // SWIG will whine about duplicate definitions of function
166  inline std::string get_module_name() { return "IMP::integrative_docking"; }
167 #endif
168 
169  //! Return the full path to one of this module's data files
170  /** To read the data file "data_library" that was placed in the \c data
171  directory of this module, do something like
172  \code
173  std::ifstream in(IMP::integrative_docking::get_data_path("data_library"));
174  \endcode
175  This will ensure that the code works both when IMP is installed or
176  if used via the \c setup_environment.sh script.
177 
178  \note Each module has its own data directory, so be sure to use
179  this function from the correct module.
180  */
181 #if !defined(SWIG)
182  IMPINTEGRATIVEDOCKINGEXPORT std::string get_data_path(std::string file_name);
183 #endif
184 
185  //! Return the full path to one of this module's example files
186  /** To read the example file "example_protein.pdb" that was placed
187  in the \c examples directory of this module, do something like
188  \code
189  std::ifstream in(IMP::integrative_docking::get_example_path("example_protein.pdb"));
190  \endcode
191  This will ensure that the code works both when IMP is installed or
192  if used via the \c setup_environment.sh script.
193 
194  \note Each module has its own example directory, so be sure to use
195  this function from the correct module.
196  */
197 #if !defined(SWIG)
198  IMPINTEGRATIVEDOCKINGEXPORT std::string get_example_path(std::string file_name);
199 #endif
200  /** @} */
201 
202 
203 } } //namespace
204 
205 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
206 
207 #include <IMP/Showable.h>
208 #include <IMP/hash.h>
209 
210 namespace IMP{ namespace integrative_docking {
211 using ::IMP::Showable;
212 using ::IMP::operator<<;
213 using ::IMP::hash_value;
214 } } // namespace
215 namespace IMP{ namespace integrative_docking { namespace internal {
216 using ::IMP::Showable;
217 using ::IMP::operator<<;
218 using ::IMP::hash_value;
219 } } } // namespace
220 
221 #endif // !defined(SWIG) && !defined(IMP_DOXYGEN)
222 
223 
224 #include <IMP/compiler_macros.h>
225 
226 #endif /* IMPINTEGRATIVEDOCKING_CONFIG_H */
227 
228 // Here so it is always parsed
229 
230 #ifdef IMPINTEGRATIVEDOCKING_DEPRECATED_HEADER
231 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_HEADER
232 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_VALUE_DEF
233 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_VALUE_DECL
234 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_OBJECT_DEF
235 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_OBJECT_DECL
236 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_FUNCTION_DEF
237 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_FUNCTION_DECL
238 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_METHOD_DEF
239 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_METHOD_DECL
240 #undef IMPINTEGRATIVEDOCKING_DEPRECATED_MACRO
241 #undef IMPINTEGRATIVEDOCKING_SHOW_WARNINGS
242 #endif
243 
244 // the central modules we can update easily, so don't warn in them
245 #if defined( IMPINTEGRATIVEDOCKING_COMPILATION) \
246  || defined(SWIG) || defined(IMP_SWIG_WRAPPER) \
247  || defined( IMPINTEGRATIVEDOCKING_ALL) || defined(IMP_DOXYGEN) \
248  || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION) \
249  || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION) \
250  || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \
251  || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \
252  || defined(IMPSCOREFUNCTOR_COMPILATION) || defined(IMPRMF_COMPILATION) \
253  || defined(IMPGSL_COMPILATION)
254 #define IMPINTEGRATIVEDOCKING_SHOW_WARNINGS 0
255 #else
256 #define IMPINTEGRATIVEDOCKING_SHOW_WARNINGS 1
257 #endif
258 
259 // suppress header warnings with all header, SWIG wrapper and in the module
260 #if IMPINTEGRATIVEDOCKING_SHOW_WARNINGS
261 #define IMPINTEGRATIVEDOCKING_DEPRECATED_HEADER(version, help_message) \
262  IMP_PRAGMA(message(__FILE__ " is deprecated: " help_message))
263 #define IMPINTEGRATIVEDOCKING_DEPRECATED_VALUE_DECL(version) \
264  IMP_DEPRECATED_ATTRIBUTE
265 #define IMPINTEGRATIVEDOCKING_DEPRECATED_OBJECT_DECL(version) \
266  IMP_DEPRECATED_ATTRIBUTE
267 #define IMPINTEGRATIVEDOCKING_DEPRECATED_FUNCTION_DECL(version) \
268  IMP_DEPRECATED_ATTRIBUTE
269 #define IMPINTEGRATIVEDOCKING_DEPRECATED_METHOD_DECL(version) \
270  IMP_DEPRECATED_ATTRIBUTE
271 
272 #else //IMPINTEGRATIVEDOCKING_SHOW_WARNINGS
273 /** See [deprecation support](@ref deprecation). */
274 #define IMPINTEGRATIVEDOCKING_DEPRECATED_HEADER(version, help_message) \
275 /** See [deprecation support](@ref deprecation). */
276 #define IMPINTEGRATIVEDOCKING_DEPRECATED_VALUE_DECL(version)
277 /** See [deprecation support](@ref deprecation). */
278 #define IMPINTEGRATIVEDOCKING_DEPRECATED_OBJECT_DECL(version)
279 /** See [deprecation support](@ref deprecation). */
280 #define IMPINTEGRATIVEDOCKING_DEPRECATED_FUNCTION_DECL(version)
281 /** See [deprecation support](@ref deprecation). */
282 #define IMPINTEGRATIVEDOCKING_DEPRECATED_METHOD_DECL(version)
283 
284 #endif // IMPINTEGRATIVEDOCKING_SHOW_WARNINGS
285 
286 // only warn about it in the all inclusion to cut down on copies
287 #if !defined(IMP_ALL) || defined(SWIG) || defined(IMP_DOXYGEN) \
288  || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION) \
289  || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION) \
290  || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \
291  || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \
292  || defined(IMPSCOREFUNCTOR_COMPILATION)
293 /** See [deprecation support](@ref deprecation). */
294 #define IMPINTEGRATIVEDOCKING_DEPRECATED_MACRO(version, message)
295 
296 #else
297 #define IMPINTEGRATIVEDOCKING_DEPRECATED_MACRO(version, message) \
298  IMP_DEPRECATED_MACRO(version, message)
299 #endif
300 
301 /** See [deprecation support](@ref deprecation). */
302 #define IMPINTEGRATIVEDOCKING_DEPRECATED_VALUE_DEF(version, message) \
303  IMP_DEPRECATED_VALUE_RUNTIME_WARNING(version, message)
304 
305 /** See [deprecation support](@ref deprecation). */
306 #define IMPINTEGRATIVEDOCKING_DEPRECATED_OBJECT_DEF(version, message) \
307  IMP_DEPRECATED_OBJECT_RUNTIME_WARNING(version, message)
308 
309 /** See [deprecation support](@ref deprecation). */
310 #define IMPINTEGRATIVEDOCKING_DEPRECATED_FUNCTION_DEF(version, message) \
311  IMP_DEPRECATED_FUNCTION_RUNTIME_WARNING(version, message)
312 
313 /** See [deprecation support](@ref deprecation). */
314 #define IMPINTEGRATIVEDOCKING_DEPRECATED_METHOD_DEF(version, message) \
315  IMP_DEPRECATED_METHOD_RUNTIME_WARNING(version, message)
316 
317 
318 #include <IMP/compiler_macros.h>
319 
320 #if defined(IMP_EXECUTABLE) && !defined(IMP_EXECUTABLE_WARNINGS)
321 IMP_COMPILER_ENABLE_WARNINGS
322 #define IMP_EXECUTABLE_WARNINGS
323 #endif
std::string get_module_version()
Return the version of this module, as a string.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
Helper functions for implementing hashes.
Helper class to aid in output of IMP classes to streams.
Various compiler workarounds.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.