У меня есть рекурсивный тип во время компиляции, который выглядит примерно так:
template <typename DataType, typename LeftNode, typename RightNode>
struct fixed_tree{
fixed_tree(const DataType& data, const LeftNode& left, const RightNode& right) : data_(data),left_(left),right_(right){}
DataType data_;
LeftNode left_;
RightNode right_;
};
Этот класс имеет несколько специализаций для различных конечных узлов, где левый / правый узел пуст, но это не важно.
Этот рекурсивный класс затем передается в качестве аргумента функции, создающей довольно длинное имя типа.
namespace some_namespace{
void some_function(int some_param0, int some_param1, fixed_tree<std::string,
fixed_tree<int,
fixed_tree<float, void, void >,
fixed_tree<double, void, void >
>,
fixed_tree<int,
fixed_tree<double,void,
fixed_tree<char,
fixed_tree<int, void,void>,
fixed_tree<int, void,void>
> >,
void
>
> somewhat_lengthy_type
);
Когда я запускаю это через Doxygen, документация функции довольно сильно переполняет строку.
Мой вопрос: есть ли способ подсказки / принудительного разрыва строки вне блоков комментария doxygen, чтобы внешний вид в документации напоминал то, что есть в источнике.
Меня не очень интересуют следующие решения:
Использование typedef.Несмотря на то, что пример не разделяет эту черту, фактический тип формирует понятный синтаксис, который на самом деле помогает понять, что делает интерфейс.
Пользовательский CSS.Было бы неплохо избегать возни с чем-то, что не относится к тегам Doxygen.