[ACCEPTED]-Exclude some classes from doxygen documentation-doxygen

Accepted answer
Score: 27

Working under the assumption that what you 8 have is something like this: (The question 7 is a little unclear in this regard)

 * Some documentation for class X
class X: public osg::Drawable {

And your 6 problem is that you want to include documentation 5 for class X, but not for class osg::Drawable, the proper 4 technique is to use EXCLUDE_SYMBOLS. For example, in the 3 case above use

EXCLUDE_SYMBOLS = osg::Drawable

If you want to be slightly 2 more rigorous, you can use

EXCLUDE_SYMBOLS = osg::Drawable \

Wild-cards are 1 also allowed, so this will also work

Score: 12

If \internal tag does not work, you can try \cond ... \endcond tags 4 for marking a portion of code to be hidden 3 from Doxygen.


If you want to exclude specific 2 files, you can use EXCLUDE_PATTERNS variable in Doxyfile configuration 1 file.

Score: 0

Its not the best way but one can mark some 18 portion of the documentation (class, members, ...) with 17 the private. This prevents the piece of code from 16 being included in the output documentation. (I 15 use this to hide copy/move constructors/operators 14 from appearing in the API documentation.)

 * \brief This is included.
class API
     * \brief So is this.
    API() noexcept;
    /// \private
    ~API() noexcept; /* But this not, though technically public. */
    int m_version; /* This is not either. */

One 13 should note though that this is a Doxygen 12 extension for PHP, which according to the 11 documentation they should not be used.

For PHP files there 10 are a number of additional commands, that 9 can be used inside classes to make members 8 public, private, or protected even though 7 the language itself doesn't support this 6 notion.

The other option is to use the solution 5 mouviciel provided, but it requires at least two 4 lines.

Though not the correct answer for 3 the detailed question it might be helpful 2 for readers of the question title (like 1 me). It works for classe too!

More Related questions