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
52 #define IMP_SHOWABLE_INLINE(Name, how_to_show) \
53 void show(std::ostream &out = std::cout) const
58 #define IMP_SHOWABLE(Name) \
59 IMP_HELPER_MACRO_PUSH_WARNINGS void show(std::ostream &out = \
61 operator IMP::base::Showable() const { \
62 std::ostringstream oss; \
64 return IMP::base::Showable(oss.str()); \
66 IMP_HELPER_MACRO_POP_WARNINGS IMP_REQUIRE_SEMICOLON_CLASS(showable)
68 #define IMP_SHOWABLE_INLINE(Name, how_to_show) \
69 IMP_HELPER_MACRO_PUSH_WARNINGS void show(std::ostream &out = \
73 operator IMP::base::Showable() const { \
74 std::ostringstream oss; \
76 return IMP::base::Showable(oss.str()); \
78 IMP_HELPER_MACRO_POP_WARNINGS IMP_REQUIRE_SEMICOLON_CLASS(showable)
Various general useful macros for IMP.