"использование пространства имен" для комментариев Doxygen
все классы моей библиотеки определены в пространстве имен. Когда я создаю mainpage для Doxygen, я должен явно использовать это пространство имен в комментариях, чтобы Doxygen создавал ссылки. Я хотел бы использовать что-то вроде "использование пространства имен" для всего блока комментариев.
пример:
/**
* mainpage My Library
*
* Use MyLibraryNamespace::MyClass to ...
*/
здесь Doxygen автоматически генерирует ссылку на документацию MyLibraryNamespace:: MyClass.
/**
* mainpage My Library
*
* Use MyClass to ...
*/
здесь Doxygen не генерирует ссылку на документация MyLibraryNamespace:: MyClass (поскольку в разных пространствах имен может быть несколько определений MyClass, я полагаю). Чтобы облегчить чтение, я хотел бы опустить префикс пространства имен в комментарии. Возможно ли это без необходимости вводить ref MyLibraryNamespace::MyClass "MyClass"
каждый раз?
2 ответов
Вы можете сделать эту работу за одно пространство имен поместив свой комментарий в пространство имен. Это меня сильно беспокоит, поскольку у нас есть несколько вложенных пространств имен, и я ненавижу использовать их в комментариях Doxygen.
namespace MyLibraryNamespace {
/**
* \mainpage My Library
*
* Use MyClass to ...
*/
};
2016 обновление с точки зрения Markdown
Я использую Doxygen для документов C# для Realm (да, Doxygen также обрабатывает типичный формат комментариев C# XML!). Главная страница Markdown использует @ref для ссылки на пространство имен классы:
The main classes you will use are:
- [Realm](@ref Realms.Realm)
- [RealmObject](@ref Realms.RealmObject)
- [RealmList](@ref Realms.RealmList)
- [Transaction](@ref Realms.Transaction)
вы можете увидеть визуализированную версию здесь
вы можете использовать псевдоним такой:
ALIASES += refmylib{1}="@ref MyLibraryNamespace:: \"\""
пример использования:
/**
* \mainpage My Library
*
* Use @refmylib{MyClass} to ...
*/
и выше будет обрабатываться doxygen следующим образом:
/**
* \mainpage My Library
*
* Use @ref MyLibraryNamespace::MyClass "MyClass" to ...
*/