9 #ifndef IMPBASE_SHOWABLE_MACROS_H
10 #define IMPBASE_SHOWABLE_MACROS_H
11 #include <IMP/base/base_config.h>
15 #if defined(IMP_DOXYGEN) || defined(SWIG)
40 #define IMP_SHOWABLE(Name) void show(std::ostream &out = std::cout) const
50 #define IMP_SHOWABLE_INLINE(Name, how_to_show) \
51 void show(std::ostream &out = std::cout) const
56 #define IMP_SHOWABLE(Name) \
57 IMP_HELPER_MACRO_PUSH_WARNINGS void show(std::ostream &out = \
59 operator IMP::base::Showable() const { \
60 std::ostringstream oss; \
62 return IMP::base::Showable(oss.str()); \
64 IMP_HELPER_MACRO_POP_WARNINGS IMP_REQUIRE_SEMICOLON_CLASS(showable)
66 #define IMP_SHOWABLE_INLINE(Name, how_to_show) \
67 IMP_HELPER_MACRO_PUSH_WARNINGS void show(std::ostream &out = \
71 operator IMP::base::Showable() const { \
72 std::ostringstream oss; \
74 return IMP::base::Showable(oss.str()); \
76 IMP_HELPER_MACRO_POP_WARNINGS IMP_REQUIRE_SEMICOLON_CLASS(showable)
Various general useful macros for IMP.