Search code examples
enumsdoxygendocumentation-generation

Documenting out-of-line enums with doxygen


When I run doxygen on

/// Outer struct
struct X
{
    /// Inner enum
    enum Y : long int
    {
        /// value a
        v = 1,
        w = 2 ///< value b
    };
};

I obtain the expected documentation. However, if the enum is out-of-line

/// Outer structure
struct A
{
    enum B : long int;
};

/// Inner enum
enum A::B : long int
{
    /// value a
    a = 1,
    b = 2 ///< value b
};

then the values a and b are not documented. I have tried /// \var A::B::a before /// value a and other combinations without positive results in doxygen 1.8.7.

Is there some switch that I am missing or is this a bug?


Solution

  • Seems like a bug indeed (or rather a not yet support C++11 feature). Can you file a bug report for it in the bug tracker? https://bugzilla.gnome.org/enter_bug.cgi?product=doxygen