Index: kernel/include/Key.h =================================================================== --- kernel/include/Key.h (revision 1005) +++ kernel/include/Key.h (working copy) @@ -54,6 +54,7 @@ \note The name in the typedef would have to start with ::IMP so it could be used out of the IMP namespace. */ +#ifndef IMP_DOXYGEN #define IMP_DECLARE_KEY_TYPE(Name, Tag) \ struct Name: public ::IMP::KeyBase { \ typedef ::IMP::KeyBase P; \ @@ -63,8 +64,18 @@ Name(const char *nm): P(nm){} \ }; \ typedef std::vector Name##s +#else +#define IMP_DECLARE_KEY_TYPE(Name, Tag) \ + struct Name: public ::IMP::KeyBase { \ + typedef ::IMP::KeyBase P; \ + typedef Name This; \ + Name(){}; \ + Name(unsigned int i): P(i){} \ + Name(const char *nm): P(nm){} \ +}; \ +typedef std::vector Name##s +#endif - //! A base class for Keys /** This class does internal caching of the strings to accelerate the name lookup. It is better to create an Key and reuse it Index: doc/internal/doxygen.conf =================================================================== --- doc/internal/doxygen.conf (revision 1005) +++ doc/internal/doxygen.conf (working copy) @@ -1227,7 +1227,7 @@ # undefined via #undef or recursively expanded use the := operator # instead of the = operator. -PREDEFINED = +PREDEFINED = IMP_DOXYGEN # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded.