30 #ifndef IMPMISC_CONFIG_H 
   31 #define IMPMISC_CONFIG_H 
   33 #include <IMP/kernel_config.h> 
   39 #ifdef IMPMISC_EXPORTS 
   40 #define IMPMISCEXPORT __declspec(dllexport) 
   42 #define IMPMISCEXPORT __declspec(dllimport) 
   48 #define IMPMISCEXPORT __attribute__((visibility("default"))) 
   49 #else  // GCC_VISIBILITY 
   51 #endif  // GCC_VISIBILITY 
   55 #if defined(_MSC_VER) && !defined(SWIG) 
   56 #ifdef IMPMISC_EXPORTS 
   58 #define IMPMISC_EXPORT_TEMPLATE(name)     \ 
   59   template class __declspec(dllexport) name 
   63 #define IMPMISC_EXPORT_TEMPLATE(name)     \ 
   64   template class __declspec(dllimport) name 
   69 #define IMPMISC_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE 
   71 #endif  // MSC and SWIG 
   73 #if !defined(SWIG) && !defined(IMP_DOXYGEN) 
   75 #define IMPMISC_BEGIN_NAMESPACE \ 
   76   IMP_COMPILER_ENABLE_WARNINGS namespace IMP{ namespace misc { 
   78 #define IMPMISC_END_NAMESPACE } } \ 
   79 IMP_COMPILER_DISABLE_WARNINGS 
   81 #define IMPMISC_BEGIN_INTERNAL_NAMESPACE IMPMISC_BEGIN_NAMESPACE \ 
   84 #define IMPMISC_END_INTERNAL_NAMESPACE } IMPMISC_END_NAMESPACE 
   86 #else  // SWIG and DOXYGEN 
   87 #define IMPMISC_BEGIN_NAMESPACE namespace IMP{ namespace misc { 
   89 #define IMPMISC_END_NAMESPACE } } 
   91 #define IMPMISC_BEGIN_INTERNAL_NAMESPACE IMPMISC_BEGIN_NAMESPACE\ 
   94 #define IMPMISC_END_INTERNAL_NAMESPACE } IMPMISC_END_NAMESPACE 
   96 #endif  // SWIG AND DOXYGEN 
   98 #define IMP_MISC_USE_IMP_ALGEBRA 
   99 #define IMP_MISC_HAS_IMP_ALGEBRA 1 
  100 #define IMP_MISC_USE_IMP_CGAL 
  101 #define IMP_MISC_HAS_IMP_CGAL 1 
  102 #define IMP_MISC_USE_IMP_CONTAINER 
  103 #define IMP_MISC_HAS_IMP_CONTAINER 1 
  104 #define IMP_MISC_USE_IMP_DISPLAY 
  105 #define IMP_MISC_HAS_IMP_DISPLAY 1 
  106 #define IMP_MISC_USE_IMP_KERNEL 
  107 #define IMP_MISC_HAS_IMP_KERNEL 1 
  108 #define IMP_MISC_USE_IMP_SCORE_FUNCTOR 
  109 #define IMP_MISC_HAS_IMP_SCORE_FUNCTOR 1 
  110 #define IMP_MISC_USE_BOOST_FILESYSTEM 
  111 #define IMP_MISC_HAS_BOOST_FILESYSTEM 1 
  112 #define IMP_MISC_USE_BOOST_PROGRAMOPTIONS 
  113 #define IMP_MISC_HAS_BOOST_PROGRAMOPTIONS 1 
  114 #define IMP_MISC_USE_BOOST_RANDOM 
  115 #define IMP_MISC_HAS_BOOST_RANDOM 1 
  116 #define IMP_MISC_USE_BOOST_REGEX 
  117 #define IMP_MISC_HAS_BOOST_REGEX 1 
  118 #define IMP_MISC_USE_BOOST_SYSTEM 
  119 #define IMP_MISC_HAS_BOOST_SYSTEM 1 
  120 #define IMP_MISC_USE_CGAL 
  121 #define IMP_MISC_HAS_CGAL 1 
  122 #define IMP_MISC_USE_HDF5 
  123 #define IMP_MISC_HAS_HDF5 1 
  124 #define IMP_MISC_USE_NUMPY 
  125 #define IMP_MISC_HAS_NUMPY 1 
  126 #define IMP_MISC_USE_PYTHON_IHM 
  127 #define IMP_MISC_HAS_PYTHON_IHM 1 
  130 namespace IMP{ 
namespace misc {
 
  142     inline std::string get_module_name() { 
return "IMP::misc"; }
 
  158     IMPMISCEXPORT std::string 
get_data_path(std::string file_name);
 
  181 #if !defined(IMP_DOXYGEN) && !defined(SWIG) 
  186 namespace IMP{ 
namespace misc {
 
  187 using ::IMP::Showable;
 
  188 using ::IMP::operator<<;
 
  189 using ::IMP::hash_value;
 
  191 namespace IMP{ 
namespace misc { 
namespace internal {
 
  192 using ::IMP::Showable;
 
  193 using ::IMP::operator<<;
 
  194 using ::IMP::hash_value;
 
  197 #endif // !defined(SWIG) && !defined(IMP_DOXYGEN) 
  206 #ifdef IMPMISC_DEPRECATED_HEADER 
  207 #undef IMPMISC_DEPRECATED_HEADER 
  208 #undef IMPMISC_DEPRECATED_VALUE_DEF 
  209 #undef IMPMISC_DEPRECATED_VALUE_DECL 
  210 #undef IMPMISC_DEPRECATED_OBJECT_DEF 
  211 #undef IMPMISC_DEPRECATED_OBJECT_DECL 
  212 #undef IMPMISC_DEPRECATED_FUNCTION_DEF 
  213 #undef IMPMISC_DEPRECATED_FUNCTION_DECL 
  214 #undef IMPMISC_DEPRECATED_METHOD_DEF 
  215 #undef IMPMISC_DEPRECATED_METHOD_DECL 
  216 #undef IMPMISC_DEPRECATED_MACRO 
  217 #undef IMPMISC_SHOW_WARNINGS 
  221 #if defined( IMPMISC_COMPILATION)                                 \ 
  222   || defined(SWIG) || defined(IMP_SWIG_WRAPPER)                         \ 
  223   || defined( IMPMISC_ALL) || defined(IMP_DOXYGEN)                \ 
  224   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  225   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  226   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  227   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  228   || defined(IMPSCOREFUNCTOR_COMPILATION) || defined(IMPRMF_COMPILATION) \ 
  229   || defined(IMPGSL_COMPILATION) 
  230 #define IMPMISC_SHOW_WARNINGS 0 
  232 #define IMPMISC_SHOW_WARNINGS 1 
  236 #if IMPMISC_SHOW_WARNINGS 
  237 #define IMPMISC_DEPRECATED_HEADER(version, help_message)          \ 
  238     IMP_PRAGMA(message(__FILE__ " is deprecated: " help_message)) 
  239 #define IMPMISC_DEPRECATED_VALUE_DECL(version)    \ 
  240   IMP_DEPRECATED_ATTRIBUTE 
  241 #define IMPMISC_DEPRECATED_OBJECT_DECL(version)    \ 
  242   IMP_DEPRECATED_ATTRIBUTE 
  243 #define IMPMISC_DEPRECATED_FUNCTION_DECL(version) \ 
  244   IMP_DEPRECATED_ATTRIBUTE 
  245 #define IMPMISC_DEPRECATED_METHOD_DECL(version) \ 
  246   IMP_DEPRECATED_ATTRIBUTE 
  248 #else //IMPMISC_SHOW_WARNINGS 
  250 #define IMPMISC_DEPRECATED_HEADER(version, help_message) \ 
  252 #define IMPMISC_DEPRECATED_VALUE_DECL(version) 
  254 #define IMPMISC_DEPRECATED_OBJECT_DECL(version) 
  256 #define IMPMISC_DEPRECATED_FUNCTION_DECL(version) 
  258 #define IMPMISC_DEPRECATED_METHOD_DECL(version) 
  260 #endif // IMPMISC_SHOW_WARNINGS 
  263 #if !defined(IMP_ALL) || defined(SWIG) || defined(IMP_DOXYGEN)          \ 
  264   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  265   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  266   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  267   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  268   || defined(IMPSCOREFUNCTOR_COMPILATION) 
  270 #define IMPMISC_DEPRECATED_MACRO(version, message) 
  273 #define IMPMISC_DEPRECATED_MACRO(version, message)        \ 
  274   IMP_DEPRECATED_MACRO(version, message) 
  278 #define IMPMISC_DEPRECATED_VALUE_DEF(version, message) \ 
  279   IMP_DEPRECATED_VALUE_RUNTIME_WARNING(version, message) 
  282 #define IMPMISC_DEPRECATED_OBJECT_DEF(version, message) \ 
  283   IMP_DEPRECATED_OBJECT_RUNTIME_WARNING(version, message) 
  286 #define IMPMISC_DEPRECATED_FUNCTION_DEF(version, message) \ 
  287   IMP_DEPRECATED_FUNCTION_RUNTIME_WARNING(version, message) 
  290 #define IMPMISC_DEPRECATED_METHOD_DEF(version, message) \ 
  291   IMP_DEPRECATED_METHOD_RUNTIME_WARNING(version, message) 
  296 #if defined(IMP_EXECUTABLE) && !defined(IMP_EXECUTABLE_WARNINGS) 
  297 IMP_COMPILER_ENABLE_WARNINGS
 
  298 #define IMP_EXECUTABLE_WARNINGS 
Helper functions for implementing hashes. 
 
std::string get_module_version()
Return the version of this module, as a string. 
 
Helper class to aid in output of IMP classes to streams. 
 
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files. 
 
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files. 
 
Various compiler workarounds.