Hello Doxygen users,
We use a filter to transform Perl classes documented with Doxygen into C++ code
that Doxygen understands. To group the member methods, the generated C++ code
uses @nosubgrouping and @name ... @{ @}. You will find a small example at the
end. The two groups are "Public Class Methods" and "Public Object Methods".
These two group names are used for all classes. When we set the configuration
variable INLINE_INHERITED_MEMB to YES, it is expected that the methods
inherited from the base class will appear under the same group heading as the
methods of the derived class. In the example below, we'd expect that the
indent() method from the WriterBase class appears together with the open() and
out() methods defined in the derived Writer class. Unfortunately, although
they have the exact same title (Public Object Methods), they are grouped
separately on the page. This grouping behavior differs from the default
behavior used for inherited methods in standard C++ code.
Is there some way to get the methods of a common group name to appear under the
same banner?
>>> BaseWriter.hpp <<<
/** @class WriterBase
*
* Base class to facilitate dumping structured code to files.
*
* @nosubgrouping
*/
class WriterBase {
public:
/** @name Public Class Methods
*
* @{
*/
/** @fn ref<WriterBase> new( hash opt_args )
*
* Return a WriterBase object configured as specified by the @em opt_args
*
*/
ref<WriterBase> new( hash opt_args );
/** @} */
public:
/** @name Public Object Methods
*
* @{
*/
/** @fn ref<Writer> indent( int nb_spaces )
*
* Indents following lines by @em nb_spaces.
*
*/
ref<Writer> indent( int nb_spaces );
/** @fn ref<Writer> out( string text )
*
* Dumps the text. Default implementation.
*
*/
ref<Writer> out( string text );
/** @} */
};
>>> Writer.hpp <<<
#include "WriterBase.hpp"
/** @class Writer
*
* Class to facilitate dumping structured code to files.
*
* @nosubgrouping
*/
class Writer : public WriterBase {
public:
/** @name Public Class Methods
*
* @{
*/
/** @fn list configure( hash opt_args )
*
* If called as a class method, it globally modifies default configuration
parameters for all created Writer objects.
* If called as an object method, it modifies the configuration parameters for
the object.
* @return Returns the previous values of the modified parameters.
*
*/
list configure( hash opt_args );
/** @fn ref<Writer> new()
*
* Return a WriterBase object with default configuration. The default
configuration may have previously been
* set with the @c configure() method.
*
*/
ref<Writer> new();
/** @} */
public:
/** @name Public Object Methods
*
* @{
*/
/** @fn ref<Writer> open( string filename )
*
* Opens the named file for writing. Also writes the file header text.
*
*/
ref<Writer> open( string filename );
/** @fn ref<Writer> out( string text )
*
* Dumps the text. Adds some decoration to the text.
*
*/
ref<Writer> out( string text );
/** @} */
};
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may
contain
confidential information. Any unauthorized review, use, disclosure or
distribution
is prohibited. If you are not the intended recipient, please contact the
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users