Groups#
Breathe has basic support for the grouping functionality that Doxygen provides.
Using the example from the Doxygen docs:
// Example from Doxygen documentation
/** A class. More details about the Test class */
class UserDefinedGroupTest
{
public:
//@{
/** Same documentation for both members. Details */
void func1InGroup1();
void func2InGroup1();
//@}
/** Function without group. Details. */
void ungroupedFunction();
void func1InCustomGroup();
protected:
void func2InCustomGroup();
};
void UserDefinedGroupTest::func1InGroup1() {}
void UserDefinedGroupTest::func2InGroup1() {}
/** @name Custom Group
* Description of custom group
*/
//@{
/** Function 2 in custom group. Details. */
void UserDefinedGroupTest::func2InCustomGroup() {}
/** Function 1 in custom group. Details. */
void UserDefinedGroupTest::func1InCustomGroup() {}
//@}
If we reference this with a directive, for example:
.. doxygenclass:: UserDefinedGroupTest
:project: userdefined
:members:
:protected-members:
It renders as:
-
class UserDefinedGroupTest#
A class.
More details about the UserDefinedGroupTest class
Note
Any groups which are not named in the original source code will appear as Unnamed Group in the final output. This is different to Doxygen which will number the groups and so name them as Group1, Group2, Group3, etc.