Doxygen appears to have idiosyncratic handling of Objective-C categories and I would like to know if others have been able to work around it successfully. I would like doxygen to document all categories on a class as separate entities, irrespective of whether the base class is documented or not.
If I add doxygen markup to a category on an undocumented base class - say NSString, then doxygen lists the category and its methods in the class list as a separate entity.
/**
* @category NSString(Foo)
* @brief A sample category on NSString
*/
@interface NSString(Foo)
@end
Results in a documented entity NSString(Foo) in the class list.
But, the following example does not:
/**
* @category CCFMyCustomClass(Foo)
* @brief A category on a documented base class
*/
@interface CCFMyCustomClass(Foo)
@end
Instead, in the latter case, all of the methods on CCFMyCustomClass(Foo) are included in the documentation for CCFMyCustomClass - the base class.
The following, though often cited, don't seem to help with this problem: