Hi folks,
This is a request for YACO(tm) (and before I swamp the list for requests,
please let me first state that I really love this tool !)
when INHERIT_DOCS=YES, a member function which reimplements a documented
base class method also inherits from the documentation. Unfortunately, when
writing classes in the following style:
//! A useful base class
class Base {
public:
//...
//! Do something
rettype method(argtype arg0, ...);
private:
virtual rettype doMethod(argtype arg0, ...) = 0;
};
inline rettype Base::method(arg0, ... ) { return doMethod(arg0, ...); }
//! A specialisation of base class Base
class Derived : public Base {
// ...
private:
rettype doMethod(argtype arg0, ...); // long implementation in
Derived.cpp
};
(this style being used to de-couple the usage interface (public) from the
customisation interface (private pure virtual functions)), there is now a
problem, when viewing the documentation of Derived: unless the private
doMethod method is documented in Base or in Derived, there is no
documentation. Besides, one has to go back to class Base to see the list of
documented, usable (public) methods !
It would be excellent if an option, like SHOW_INHERITED_PUBLIC_METHODS
appeared. With that option turned on, any documented public method inherited
from Base, but /not/ reimplemented in Derived would still appear in the
documentation of Derived (with the appropriate tag, of course).
This is probably trivial to implement, given that the "list all members"
link already has that capability (but doesn't show the list). What I'm
after, basically, is a blend between that "list all members" page (limited
to public members), and the main page (full documentation of members), all
that in the main page.
What do you think of that ? If time is a problem, I'd be willing to
implement this, if gently shown where to patch (OTOH, it may very well take
Dimitry or other core hackers a mere 5 minutes to make that new option a
reality...)
-- Cyrille
|