9 #ifndef IMPBASE_REF_COUNTED_MACROS_H
10 #define IMPBASE_REF_COUNTED_MACROS_H
11 #include <IMP/base/base_config.h>
16 #define IMP_REF_COUNTED_DESTRUCTOR(Name) \
19 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
21 #define IMP_REF_COUNTED_INLINE_DESTRUCTOR(Name, dest) \
23 virtual ~Name() { dest } \
24 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
26 #define IMP_REF_COUNTED_NONTRIVIAL_DESTRUCTOR(Name) \
32 #define IMP_REF_COUNTED_DESTRUCTOR(Name) \
35 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
37 #define IMP_REF_COUNTED_INLINE_DESTRUCTOR(Name, dest) \
39 virtual ~Name() { dest } \
40 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
42 #define IMP_REF_COUNTED_NONTRIVIAL_DESTRUCTOR(Name) \
46 #elif defined(IMP_DOXYGEN)
60 #define IMP_REF_COUNTED_DESTRUCTOR(Name)
65 #define IMP_REF_COUNTED_NONTRIVIAL_DESTRUCTOR(Name)
70 #define IMP_REF_COUNTED_INLINE_DESTRUCTOR(Name, destructor)
73 #define IMP_REF_COUNTED_DESTRUCTOR(Name) \
78 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
80 #define IMP_REF_COUNTED_INLINE_DESTRUCTOR(Name, dest) \
82 virtual ~Name() { dest } \
85 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
87 #define IMP_REF_COUNTED_NONTRIVIAL_DESTRUCTOR(Name) \
92 IMP_REQUIRE_SEMICOLON_CLASS(destructor)
Various general useful macros for IMP.