IMP  2.0.0
The Integrative Modeling Platform
score_functor_config.h
1 
2 /*
3  * \file IMP/score_functor/score_functor_config.h
4  * \brief Provide macros to mark functions and classes as exported
5  * from a DLL/.so, and to set up namespaces
6  *
7  * When building the module, IMPSCOREFUNCTOR_EXPORTS should be defined, and when
8  * using the module externally, it should not be. Classes and functions
9  * declared in the module's headers should then be marked with
10  * IMPSCOREFUNCTOREXPORT if they are intended to be part of the API and
11  * they are not defined entirely in a header.
12  *
13  * The Windows build environment requires applications to mark exports in
14  * this way; we use the same markings to set the visibility of ELF symbols
15  * if we have compiler support.
16  *
17  * All code in this module should live in the IMP::score_functor namespace.
18  * This is simply achieved by wrapping things with the
19  * IMPSCOREFUNCTOR_BEGIN_NAMESPACE and IMPSCOREFUNCTOR_END_NAMESPACE macros.
20  * There are similar macros for module code that is designed to be for
21  * internal use only.
22  *
23  * This header is auto-generated by tools/build/setup_module.py;
24  * it should not be edited manually.
25  *
26  * Copyright 2007-2013 IMP Inventors. All rights reserved.
27  *
28  */
29 
30 #ifndef IMPSCOREFUNCTOR_CONFIG_H
31 #define IMPSCOREFUNCTOR_CONFIG_H
32 
33 #include <IMP/base/base_config.h>
34 #include <string>
35 
36 
37 #ifdef _MSC_VER
38 
39 #ifdef IMPSCOREFUNCTOR_EXPORTS
40 #define IMPSCOREFUNCTOREXPORT __declspec(dllexport)
41 #else // EXPORTS
42 #define IMPSCOREFUNCTOREXPORT __declspec(dllimport)
43 #endif // EXPORTS
44 
45 #else // _MSC_VER
46 
47 #ifdef GCC_VISIBILITY
48 #define IMPSCOREFUNCTOREXPORT __attribute__ ((visibility("default")))
49 #else // GCC_VISIBILITY
50 #define IMPSCOREFUNCTOREXPORT
51 #endif // GCC_VISIBILITY
52 #endif // _MSC_VER
53 
54 #if defined(_MSC_VER) && !defined(SWIG)
55 #ifdef IMPSCOREFUNCTOR_EXPORTS
56 
57 #define IMPSCOREFUNCTOR_EXPORT_TEMPLATE(name) template class __declspec(dllexport) name
58 
59 #else //EXPORTS
60 
61 #define IMPSCOREFUNCTOR_EXPORT_TEMPLATE(name) template class __declspec(dllimport) name
62 
63 #endif // EXPORTS
64 
65 #else // MSC and SWIG
66 #define IMPSCOREFUNCTOR_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE
67 
68 #endif // MSC and SWIG
69 
70 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
71 
72 #define IMPSCOREFUNCTOR_BEGIN_NAMESPACE \
73 IMP_COMPILER_ENABLE_WARNINGS \
74 namespace IMP { namespace score_functor { \
75 
76 #define IMPSCOREFUNCTOR_END_NAMESPACE \
77 } } \
78 IMP_COMPILER_DISABLE_WARNINGS
79 
80 #define IMPSCOREFUNCTOR_BEGIN_INTERNAL_NAMESPACE \
81 IMPSCOREFUNCTOR_BEGIN_NAMESPACE namespace internal {
82 
83 
84 #define IMPSCOREFUNCTOR_END_INTERNAL_NAMESPACE \
85 } IMPSCOREFUNCTOR_END_NAMESPACE
86 
87 #else
88 #define IMPSCOREFUNCTOR_BEGIN_NAMESPACE \
89 namespace IMP { namespace score_functor {
90 
91 #define IMPSCOREFUNCTOR_END_NAMESPACE \
92 } }
93 
94 #define IMPSCOREFUNCTOR_BEGIN_INTERNAL_NAMESPACE \
95 IMPSCOREFUNCTOR_BEGIN_NAMESPACE namespace internal {
96 
97 
98 #define IMPSCOREFUNCTOR_END_INTERNAL_NAMESPACE \
99 } IMPSCOREFUNCTOR_END_NAMESPACE
100 
101 #endif
102 
103 #define IMP_SCORE_FUNCTOR_USE_IMP_CGAL
104 #define IMP_SCORE_FUNCTOR_HAS_IMP_CGAL 1
105 #define IMP_SCORE_FUNCTOR_USE_BOOST_FILESYSTEM
106 #define IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM 1
107 #define IMP_SCORE_FUNCTOR_USE_BOOST_PROGRAMOPTIONS
108 #define IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS 1
109 #define IMP_SCORE_FUNCTOR_USE_BOOST_RANDOM
110 #define IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM 1
111 #define IMP_SCORE_FUNCTOR_USE_BOOST_SYSTEM
112 #define IMP_SCORE_FUNCTOR_HAS_BOOST_SYSTEM 1
113 #define IMP_SCORE_FUNCTOR_USE_CGAL
114 #define IMP_SCORE_FUNCTOR_HAS_CGAL 1
115 
116 // functions are defined explicitly for swig
117 
118 namespace IMP { namespace score_functor {
119 /** \name Standard module methods
120  All \imp modules have a set of standard methods to help get information
121  about the module and about files associated with the module.
122  @{
123  */
124 #if !defined(SWIG)
125 IMPSCOREFUNCTOREXPORT std::string get_module_version();
126 #endif
127 
128 #if !defined(SWIG)
129 // swig will whine about duplicate definitions of function
130 inline std::string get_module_name() {
131  return "IMP::score_functor";
132 }
133 #endif
134 
135 } } //namespace
136 
137 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
138 
139 #include <IMP/base/Showable.h>
140 #include <IMP/base/hash.h>
141 
142 namespace IMP { namespace score_functor {
143 using ::IMP::base::Showable;
144 using ::IMP::base::operator<<;
145 using ::IMP::base::hash_value;
146 } } // namespace
147 namespace IMP { namespace score_functor { namespace internal {
148 using ::IMP::base::Showable;
149 using ::IMP::base::operator<<;
150 using ::IMP::base::hash_value;
151 } } } // namespace
152 
153 #endif // !defined(SWIG) && !defined(IMP_DOXYGEN)
154 
155 
156 #if !defined(SWIG)
157 
158 namespace IMP { namespace score_functor {
159 
160 //! Return the full path to installed data
161 /** Each module has its own data directory, so be sure to use
162  the version of this function in the correct module. To read
163  the data file "data_library" that was placed in the \c data
164  directory of module "mymodule", do something like
165  \code
166  std::ifstream in(IMP::mymodule::get_data_path("data_library"));
167  \endcode
168  This will ensure that the code works when \imp is installed or
169  used via the \c tools/imppy.sh script.
170 */
171 IMPSCOREFUNCTOREXPORT std::string get_data_path(std::string file_name);
172 
173 //! Return the path to installed example data for this module
174 /** Each module has its own example directory, so be sure to use
175  the version of this function in the correct module. For example
176  to read the file \c example_protein.pdb located in the
177  \c examples directory of the IMP::atom module, do
178  \code
179  IMP::atom::read_pdb(IMP::atom::get_example_path("example_protein.pdb", model));
180  \endcode
181  This will ensure that the code works when \imp is installed or
182  used via the \c tools/imppy.sh script.
183 */
184 IMPSCOREFUNCTOREXPORT std::string get_example_path(std::string file_name);
185 /** @} */
186 
187 
188 } } // namespace
189 
190 #endif // SWIG
191 
193 
194 #ifdef IMP_DOXYGEN
195 /** \namespace IMP::score_functor
196  \brief See \ref IMP_score_functor_overview "IMP.score_functor Overview" for more information.
197  */
198 #endif
199 
200 #endif /* IMPSCOREFUNCTOR_CONFIG_H */