简体   繁体   English

Doxygen:防止由于前向声明和模板导致的重复

[英]Doxygen: Prevent duplicates due to forward declarations and templates

Doxygen generally handles forward declarations well. Doxygen 通常可以很好地处理前向声明。 For example,例如,

/** \file */

class A;

class B {
    // uses A
};

class A {
    // uses B
};

results in结果

在此处输入图片说明

without duplicating A .不复制A

But if I make A and B class templates, then A is extracted twice:但是如果我制作AB类模板,那么A被提取两次:

/** \file */

template<typename T> class A;

template<typename T>
class B {
    // uses A<T>
};

template<typename T>
class A {
    // uses B<T>
};

在此处输入图片说明

How can I prevent this?我怎样才能防止这种情况?

With the versions 1.8.13 - 1.8.18 I can see the behavior as indicated.对于 1.8.13 - 1.8.18 版本,我可以看到所指示的行为。 With the current doxygen master, ie 1.8.19 (0937faf2d168b64f5ccf55c1976bc045d5d12569), this problem looks like to be solved and only class B<T> and class A<T> are shown.使用当前的 doxygen master,即 1.8.19 (0937faf2d168b64f5ccf55c1976bc045d5d12569),这个问题看起来已经解决了,只显示了class B<T>class A<T>

(It is not yet known / planned when 1.8.19 will be released, the 1.8.18 version has been released on April 12, 2020). (尚不知道/计划何时发布 1.8.19,1.8.18 版本已于 2020 年 4 月 12 日发布)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM