30 #ifndef IMPKMEANS_CONFIG_H 
   31 #define IMPKMEANS_CONFIG_H 
   33 #include <IMP/kernel_config.h> 
   39 #ifdef IMPKMEANS_EXPORTS 
   40 #define IMPKMEANSEXPORT __declspec(dllexport) 
   42 #define IMPKMEANSEXPORT __declspec(dllimport) 
   48 #define IMPKMEANSEXPORT __attribute__((visibility("default"))) 
   49 #else  // GCC_VISIBILITY 
   50 #define IMPKMEANSEXPORT 
   51 #endif  // GCC_VISIBILITY 
   55 #if defined(_MSC_VER) && !defined(SWIG) 
   56 #ifdef IMPKMEANS_EXPORTS 
   58 #define IMPKMEANS_EXPORT_TEMPLATE(name)     \ 
   59   template class __declspec(dllexport) name 
   63 #define IMPKMEANS_EXPORT_TEMPLATE(name)     \ 
   64   template class __declspec(dllimport) name 
   69 #define IMPKMEANS_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE 
   71 #endif  // MSC and SWIG 
   73 #if !defined(SWIG) && !defined(IMP_DOXYGEN) 
   75 #define IMPKMEANS_BEGIN_NAMESPACE \ 
   76   IMP_COMPILER_ENABLE_WARNINGS namespace IMP{ namespace kmeans { 
   78 #define IMPKMEANS_END_NAMESPACE } } \ 
   79 IMP_COMPILER_DISABLE_WARNINGS 
   81 #define IMPKMEANS_BEGIN_INTERNAL_NAMESPACE IMPKMEANS_BEGIN_NAMESPACE \ 
   84 #define IMPKMEANS_END_INTERNAL_NAMESPACE } IMPKMEANS_END_NAMESPACE 
   86 #else  // SWIG and DOXYGEN 
   87 #define IMPKMEANS_BEGIN_NAMESPACE namespace IMP{ namespace kmeans { 
   89 #define IMPKMEANS_END_NAMESPACE } } 
   91 #define IMPKMEANS_BEGIN_INTERNAL_NAMESPACE IMPKMEANS_BEGIN_NAMESPACE\ 
   94 #define IMPKMEANS_END_INTERNAL_NAMESPACE } IMPKMEANS_END_NAMESPACE 
   96 #endif  // SWIG AND DOXYGEN 
   98 #define IMP_KMEANS_USE_BOOST_FILESYSTEM 
   99 #define IMP_KMEANS_HAS_BOOST_FILESYSTEM 1 
  100 #define IMP_KMEANS_USE_BOOST_PROGRAMOPTIONS 
  101 #define IMP_KMEANS_HAS_BOOST_PROGRAMOPTIONS 1 
  102 #define IMP_KMEANS_USE_BOOST_RANDOM 
  103 #define IMP_KMEANS_HAS_BOOST_RANDOM 1 
  104 #define IMP_KMEANS_USE_BOOST_SYSTEM 
  105 #define IMP_KMEANS_HAS_BOOST_SYSTEM 1 
  106 #define IMP_KMEANS_USE_NUMPY 
  107 #define IMP_KMEANS_HAS_NUMPY 1 
  110 namespace IMP{ 
namespace kmeans {
 
  122     inline std::string get_module_name() { 
return "IMP::kmeans"; }
 
  138     IMPKMEANSEXPORT std::string 
get_data_path(std::string file_name);
 
  161 #if !defined(IMP_DOXYGEN) && !defined(SWIG) 
  166 namespace IMP{ 
namespace kmeans {
 
  167 using ::IMP::Showable;
 
  168 using ::IMP::operator<<;
 
  169 using ::IMP::hash_value;
 
  171 namespace IMP{ 
namespace kmeans { 
namespace internal {
 
  172 using ::IMP::Showable;
 
  173 using ::IMP::operator<<;
 
  174 using ::IMP::hash_value;
 
  177 #endif // !defined(SWIG) && !defined(IMP_DOXYGEN) 
  186 #ifdef IMPKMEANS_DEPRECATED_HEADER 
  187 #undef IMPKMEANS_DEPRECATED_HEADER 
  188 #undef IMPKMEANS_DEPRECATED_VALUE_DEF 
  189 #undef IMPKMEANS_DEPRECATED_VALUE_DECL 
  190 #undef IMPKMEANS_DEPRECATED_OBJECT_DEF 
  191 #undef IMPKMEANS_DEPRECATED_OBJECT_DECL 
  192 #undef IMPKMEANS_DEPRECATED_FUNCTION_DEF 
  193 #undef IMPKMEANS_DEPRECATED_FUNCTION_DECL 
  194 #undef IMPKMEANS_DEPRECATED_METHOD_DEF 
  195 #undef IMPKMEANS_DEPRECATED_METHOD_DECL 
  196 #undef IMPKMEANS_DEPRECATED_MACRO 
  197 #undef IMPKMEANS_SHOW_WARNINGS 
  201 #if defined( IMPKMEANS_COMPILATION)                                 \ 
  202   || defined(SWIG) || defined(IMP_SWIG_WRAPPER)                         \ 
  203   || defined( IMPKMEANS_ALL) || defined(IMP_DOXYGEN)                \ 
  204   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  205   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  206   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  207   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  208   || defined(IMPSCOREFUNCTOR_COMPILATION) || defined(IMPRMF_COMPILATION) \ 
  209   || defined(IMPGSL_COMPILATION) 
  210 #define IMPKMEANS_SHOW_WARNINGS 0 
  212 #define IMPKMEANS_SHOW_WARNINGS 1 
  216 #if IMPKMEANS_SHOW_WARNINGS 
  217 #define IMPKMEANS_DEPRECATED_HEADER(version, help_message)          \ 
  218     IMP_PRAGMA(message(__FILE__ " is deprecated: " help_message)) 
  219 #define IMPKMEANS_DEPRECATED_VALUE_DECL(version)    \ 
  220   IMP_DEPRECATED_ATTRIBUTE 
  221 #define IMPKMEANS_DEPRECATED_OBJECT_DECL(version)    \ 
  222   IMP_DEPRECATED_ATTRIBUTE 
  223 #define IMPKMEANS_DEPRECATED_FUNCTION_DECL(version) \ 
  224   IMP_DEPRECATED_ATTRIBUTE 
  225 #define IMPKMEANS_DEPRECATED_METHOD_DECL(version) \ 
  226   IMP_DEPRECATED_ATTRIBUTE 
  228 #else //IMPKMEANS_SHOW_WARNINGS 
  230 #define IMPKMEANS_DEPRECATED_HEADER(version, help_message) \ 
  232 #define IMPKMEANS_DEPRECATED_VALUE_DECL(version) 
  234 #define IMPKMEANS_DEPRECATED_OBJECT_DECL(version) 
  236 #define IMPKMEANS_DEPRECATED_FUNCTION_DECL(version) 
  238 #define IMPKMEANS_DEPRECATED_METHOD_DECL(version) 
  240 #endif // IMPKMEANS_SHOW_WARNINGS 
  243 #if !defined(IMP_ALL) || defined(SWIG) || defined(IMP_DOXYGEN)          \ 
  244   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  245   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  246   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  247   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  248   || defined(IMPSCOREFUNCTOR_COMPILATION) 
  250 #define IMPKMEANS_DEPRECATED_MACRO(version, message) 
  253 #define IMPKMEANS_DEPRECATED_MACRO(version, message)        \ 
  254   IMP_DEPRECATED_MACRO(version, message) 
  258 #define IMPKMEANS_DEPRECATED_VALUE_DEF(version, message) \ 
  259   IMP_DEPRECATED_VALUE_RUNTIME_WARNING(version, message) 
  262 #define IMPKMEANS_DEPRECATED_OBJECT_DEF(version, message) \ 
  263   IMP_DEPRECATED_OBJECT_RUNTIME_WARNING(version, message) 
  266 #define IMPKMEANS_DEPRECATED_FUNCTION_DEF(version, message) \ 
  267   IMP_DEPRECATED_FUNCTION_RUNTIME_WARNING(version, message) 
  270 #define IMPKMEANS_DEPRECATED_METHOD_DEF(version, message) \ 
  271   IMP_DEPRECATED_METHOD_RUNTIME_WARNING(version, message) 
  276 #if defined(IMP_EXECUTABLE) && !defined(IMP_EXECUTABLE_WARNINGS) 
  277 IMP_COMPILER_ENABLE_WARNINGS
 
  278 #define IMP_EXECUTABLE_WARNINGS 
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. 
 
Helper functions for implementing hashes. 
 
Helper class to aid in output of IMP classes to streams. 
 
std::string get_module_version()
Return the version of this module, as a string. 
 
Various compiler workarounds.