在我的库中,我有很多形式的函数重载:
/// \brief Does thing.
///
/// \details The thing that is done is very special.
template<typename T>
void do_stuff(const T& t);
/// \brief Does thing repeatedly.
/// \copydetails do_stuff()
template<typename T>
void do_stuff(const T& t, std::size_t x);
一般来说,这很有效并且非常好,但会多次创建相同的文档部分。我想要的是,将这些功能组合在一起。有详细的描述,每个重载都用它的简短描述注释。我也不反对可以做这样的事情或输入过滤器的别名。
我可以想象的一种方法是:
文档结果应如下所示:
template<typename T>
void do_stuff(const T& t); (1)
template<typename T>
void do_stuff(const T& t, std::size_t x); (2)
The things that is done is very special.
(1) Does thing.
(2) Does thing repeatedly.
当然,我可以创建一个新页面并手动编写那种文档,但这需要我在页面上重复函数声明,然后将链接插入实际的函数文档,但这比其他任何事情都更像是一种 hack。
有没有办法轻松实现这一目标?甚至将其破解为 doxygen 的提示也会受到赞赏。