Doxygen не создает ссылку на специализацию класса

Помогите плез. Имеется следующий код


template<class T, class T_Step>
constexpr bool
is_forbidden_types_combination = !std::is_floating_point_v<T> && std::is_floating_point_v<T_Step>;


template<class T, class T_Step = T, class T_Access = void>
class RangeIdManager;

template<class T, class T_Step>
class RangeIdManager<T, T_Step, std::enable_if_t<!is_forbidden_types_combination<T, T_Step>>>
{
    ...
}

Далее я использую Doxygen для документации. Описания всех методов, переменных и прочего находятся в том же хедере что и сам код. Но описания не разбросаны по всему хедеру, а собраны в одном месте


/**
 * @var is_forbidden_types_combination
 *
 * @brief ...
 *
 * ...
 */

/**
 * @class RangeIdManager
 *
 * @brief ...
 *
 * ...
 */


template<class T, class T_Step>
constexpr bool
is_forbidden_types_combination = !std::is_floating_point_v<T> && std::is_floating_point_v<T_Step>;


template<class T, class T_Step = T, class T_Access = void>
class RangeIdManager;

template<class T, class T_Step>
class RangeIdManager<T, T_Step, std::enable_if_t<!is_forbidden_types_combination<T, T_Step>>>
{
    ...
}

Первое описание будет применено к переменной. Второе к RangeIdManager который стоит первым


template<class T, class T_Step = T, class T_Access = void>
class RangeIdManager;

Но как задокументировать специализацию? Если я пишу так


/**
 * @class RangeIdManager<T, T_Step, std::enable_if_t<!is_forbidden_types_combination<T, T_Step>>>
 *
 * @brief ...
 *
 * ...
 */

это не работает. Я много разных вариантов попробовал, ничего не выходит. На всякий случай документация в гите https://github.com/lelezard7/ONF/tree/main/doc там надо зайти html/index.html если что.

Такая же проблема появляется если я хочу создать ссылку на данную специализацию. Обычно достаточно упомянуть в тексте описания сигнатуру метода, функции, класса, переменной и т.д. и Doxygen создаст ссылку в это место. Если он ее не создает автоматически, можно указать @ref <name> и готово. Но все это не работает со специализацией. Что делать?

Если будут дополнительные замечания по коду, можете тоже высказать, буду благодарен.

Дополнено:

Версия Doxygen - 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b).

Вывод Doxygen -x Doxyfile


# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
PROJECT_NAME           = ONF
PROJECT_BRIEF          = "╨Э╨╡╨▒╨╛╨╗╤М╤И╨░╤П, ╤А╨░╨╖╨╜╨╛╤А╨╛╨┤╨╜╨░╤П ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░"
OUTPUT_DIRECTORY       = .
OUTPUT_LANGUAGE        = Russian
EXTRACT_ALL            = YES
INPUT                  = ../include \
                         .
DISABLE_INDEX          = YES
GENERATE_TREEVIEW      = YES
USE_MATHJAX            = YES
GENERATE_LATEX         = NO


Ответы (0 шт):