Как сделать так, чтобы doxygen включал членов пространства имен на страницу группы - PullRequest
0 голосов
/ 06 февраля 2019

Мне нужно получить список всех классов (и других элементов) на странице группы doxygen, даже если они являются членами пространства имен.Поэтому, если у меня есть что-то вроде этого примера кода:

/*!
@defgroup test_group Example group
@{*/
    class some_class {};
/// @}

Doxygen сгенерирует страницу группы, содержащую мой "some_class":

page with class.

Но после пространства имендобавление doxygen «скрывает» всех членов пространства имен на новой странице.Следующий код:

/*!
@defgroup test_group Example group
@{*/
namespace example_namespace {       
    class some_class {};
}
/// @}

создает страницу группы, содержащую ссылку на страницу пространства имен.

2 step navigation.

Мы не можем видеть членов пространства имен на странице группы.

Следующие 2 способа дают тот же результат:

// 1. putting namespace content in brackets @{ @}:
    /// @defgroup test_group Example group        
    namespace example_namespace { 
        /*!
        @ingroup test_group 
        @{ */
        class some_class {};
        /// @}
    }        
// 2. putting namespace itself to group:

    /// @defgroup test_group Example group

    /// @ingroup test_group 
    namespace example_namespace {
        class some_class {};
    }

Я хочу получить групповую страницу, которая будет содержать все классы из пространств имен и самих пространств имен.Я знаю, что добавление «@ingroup» к описанию классов дает мне то, что я хочу, но в реальной программе десятки или даже сотни классов в одном пространстве имен.Должен быть лучший способ.

1 Ответ

0 голосов
/ 06 февраля 2019

Я провел несколько небольших тестов и выполнял следующие работы:

/*!
@defgroup test_group Example group
@{*/
namespace example_namespace {
    /*!
    @defgroup test_group Example group
    @{*/
    /** the class */
    class some_class {
      /*!
      @defgroup test_group Example group
      @{*/
      public:
         /** the fie */
         void fie(void);
      /// @}
    };
    /// @}
};
/// @}

Это немного накладные расходы, и, возможно, вам также следует взглянуть на другие group команды, такие как \ingroup, \addtogroup ипараграф о группировке в руководстве.

...