30 #ifndef IMPGSL_CONFIG_H 
   31 #define IMPGSL_CONFIG_H 
   33 #include <IMP/kernel_config.h> 
   40 #define IMPGSLEXPORT __declspec(dllexport) 
   42 #define IMPGSLEXPORT __declspec(dllimport) 
   48 #define IMPGSLEXPORT __attribute__((visibility("default"))) 
   49 #else  // GCC_VISIBILITY 
   51 #endif  // GCC_VISIBILITY 
   55 #if defined(_MSC_VER) && !defined(SWIG) 
   58 #define IMPGSL_EXPORT_TEMPLATE(name)     \ 
   59   template class __declspec(dllexport) name 
   63 #define IMPGSL_EXPORT_TEMPLATE(name)     \ 
   64   template class __declspec(dllimport) name 
   69 #define IMPGSL_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE 
   71 #endif  // MSC and SWIG 
   73 #if !defined(SWIG) && !defined(IMP_DOXYGEN) 
   75 #define IMPGSL_BEGIN_NAMESPACE \ 
   76   IMP_COMPILER_ENABLE_WARNINGS namespace IMP{ namespace gsl { 
   78 #define IMPGSL_END_NAMESPACE } } \ 
   79 IMP_COMPILER_DISABLE_WARNINGS 
   81 #define IMPGSL_BEGIN_INTERNAL_NAMESPACE IMPGSL_BEGIN_NAMESPACE \ 
   84 #define IMPGSL_END_INTERNAL_NAMESPACE } IMPGSL_END_NAMESPACE 
   86 #else  // SWIG and DOXYGEN 
   87 #define IMPGSL_BEGIN_NAMESPACE namespace IMP{ namespace gsl { 
   89 #define IMPGSL_END_NAMESPACE } } 
   91 #define IMPGSL_BEGIN_INTERNAL_NAMESPACE IMPGSL_BEGIN_NAMESPACE\ 
   94 #define IMPGSL_END_INTERNAL_NAMESPACE } IMPGSL_END_NAMESPACE 
   96 #endif  // SWIG AND DOXYGEN 
   98 #define IMP_GSL_USE_IMP_CGAL 
   99 #define IMP_GSL_HAS_IMP_CGAL 1 
  100 #define IMP_GSL_USE_BOOST_FILESYSTEM 
  101 #define IMP_GSL_HAS_BOOST_FILESYSTEM 1 
  102 #define IMP_GSL_USE_BOOST_PROGRAMOPTIONS 
  103 #define IMP_GSL_HAS_BOOST_PROGRAMOPTIONS 1 
  104 #define IMP_GSL_USE_BOOST_RANDOM 
  105 #define IMP_GSL_HAS_BOOST_RANDOM 1 
  106 #define IMP_GSL_USE_BOOST_SYSTEM 
  107 #define IMP_GSL_HAS_BOOST_SYSTEM 1 
  108 #define IMP_GSL_USE_CGAL 
  109 #define IMP_GSL_HAS_CGAL 1 
  110 #define IMP_GSL_USE_NUMPY 
  111 #define IMP_GSL_HAS_NUMPY 1 
  114 namespace IMP{ 
namespace gsl {
 
  126     inline std::string get_module_name() { 
return "IMP::gsl"; }
 
  142     IMPGSLEXPORT std::string 
get_data_path(std::string file_name);
 
  165 #if !defined(IMP_DOXYGEN) && !defined(SWIG) 
  170 namespace IMP{ 
namespace gsl {
 
  171 using ::IMP::Showable;
 
  172 using ::IMP::operator<<;
 
  173 using ::IMP::hash_value;
 
  175 namespace IMP{ 
namespace gsl { 
namespace internal {
 
  176 using ::IMP::Showable;
 
  177 using ::IMP::operator<<;
 
  178 using ::IMP::hash_value;
 
  181 #endif // !defined(SWIG) && !defined(IMP_DOXYGEN) 
  190 #ifdef IMPGSL_DEPRECATED_HEADER 
  191 #undef IMPGSL_DEPRECATED_HEADER 
  192 #undef IMPGSL_DEPRECATED_VALUE_DEF 
  193 #undef IMPGSL_DEPRECATED_VALUE_DECL 
  194 #undef IMPGSL_DEPRECATED_OBJECT_DEF 
  195 #undef IMPGSL_DEPRECATED_OBJECT_DECL 
  196 #undef IMPGSL_DEPRECATED_FUNCTION_DEF 
  197 #undef IMPGSL_DEPRECATED_FUNCTION_DECL 
  198 #undef IMPGSL_DEPRECATED_METHOD_DEF 
  199 #undef IMPGSL_DEPRECATED_METHOD_DECL 
  200 #undef IMPGSL_DEPRECATED_MACRO 
  201 #undef IMPGSL_SHOW_WARNINGS 
  205 #if defined( IMPGSL_COMPILATION)                                 \ 
  206   || defined(SWIG) || defined(IMP_SWIG_WRAPPER)                         \ 
  207   || defined( IMPGSL_ALL) || defined(IMP_DOXYGEN)                \ 
  208   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  209   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  210   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  211   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  212   || defined(IMPSCOREFUNCTOR_COMPILATION) || defined(IMPRMF_COMPILATION) \ 
  213   || defined(IMPGSL_COMPILATION) 
  214 #define IMPGSL_SHOW_WARNINGS 0 
  216 #define IMPGSL_SHOW_WARNINGS 1 
  220 #if IMPGSL_SHOW_WARNINGS 
  221 #define IMPGSL_DEPRECATED_HEADER(version, help_message)          \ 
  222     IMP_PRAGMA(message(__FILE__ " is deprecated: " help_message)) 
  223 #define IMPGSL_DEPRECATED_VALUE_DECL(version)    \ 
  224   IMP_DEPRECATED_ATTRIBUTE 
  225 #define IMPGSL_DEPRECATED_OBJECT_DECL(version)    \ 
  226   IMP_DEPRECATED_ATTRIBUTE 
  227 #define IMPGSL_DEPRECATED_FUNCTION_DECL(version) \ 
  228   IMP_DEPRECATED_ATTRIBUTE 
  229 #define IMPGSL_DEPRECATED_METHOD_DECL(version) \ 
  230   IMP_DEPRECATED_ATTRIBUTE 
  232 #else //IMPGSL_SHOW_WARNINGS 
  234 #define IMPGSL_DEPRECATED_HEADER(version, help_message) \ 
  236 #define IMPGSL_DEPRECATED_VALUE_DECL(version) 
  238 #define IMPGSL_DEPRECATED_OBJECT_DECL(version) 
  240 #define IMPGSL_DEPRECATED_FUNCTION_DECL(version) 
  242 #define IMPGSL_DEPRECATED_METHOD_DECL(version) 
  244 #endif // IMPGSL_SHOW_WARNINGS 
  247 #if !defined(IMP_ALL) || defined(SWIG) || 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) 
  254 #define IMPGSL_DEPRECATED_MACRO(version, message) 
  257 #define IMPGSL_DEPRECATED_MACRO(version, message)        \ 
  258   IMP_DEPRECATED_MACRO(version, message) 
  262 #define IMPGSL_DEPRECATED_VALUE_DEF(version, message) \ 
  263   IMP_DEPRECATED_VALUE_RUNTIME_WARNING(version, message) 
  266 #define IMPGSL_DEPRECATED_OBJECT_DEF(version, message) \ 
  267   IMP_DEPRECATED_OBJECT_RUNTIME_WARNING(version, message) 
  270 #define IMPGSL_DEPRECATED_FUNCTION_DEF(version, message) \ 
  271   IMP_DEPRECATED_FUNCTION_RUNTIME_WARNING(version, message) 
  274 #define IMPGSL_DEPRECATED_METHOD_DEF(version, message) \ 
  275   IMP_DEPRECATED_METHOD_RUNTIME_WARNING(version, message) 
  280 #if defined(IMP_EXECUTABLE) && !defined(IMP_EXECUTABLE_WARNINGS) 
  281 IMP_COMPILER_ENABLE_WARNINGS
 
  282 #define IMP_EXECUTABLE_WARNINGS 
Helper functions for implementing hashes. 
 
Helper class to aid in output of IMP classes to streams. 
 
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files. 
 
std::string get_module_version()
Return the version of this module, as a string. 
 
Various compiler workarounds. 
 
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.