9 #ifndef IMPBASE_RAII_MACROS_H
10 #define IMPBASE_RAII_MACROS_H
11 #include <IMP/base/base_config.h>
34 #define IMP_RAII(Name, args, Initialize, Set, Reset, Show) \
35 IMP_HELPER_MACRO_PUSH_WARNINGS Name() { Initialize; } \
37 explicit Name args { \
47 void reset() { Reset; } \
48 ~Name() { reset(); } \
49 IMP_HELPER_MACRO_POP_WARNINGS IMP_SHOWABLE_INLINE(Name, out << #Name << '('; \
Various general useful macros for IMP.