0

我的应用程序中有一些 C++ 类,它们有一些“配置”成员,最终用户可以在运行时修改这些成员以选择各种配置。(这在幕后是如何实现的并不相关并被跳过。)我想将所有此类配置成员的自定义文档收集到一个单独的 doxygen 页面中,用户可以参考该页面,以了解所有存在的配置成员。

考虑这个简单的例子。(相关代码不必位于类声明的顶部,如此处所示。)

class Foo {
public:
  /**
    * @config Foo12
    * @default true
    * @range true, false
    * @purpose set this false if you don't want Foo12
    */
  bool foo12;

  /**
    * @config Foo34
    * @default false
    * @range true, false
    * @purpose set this true if you want Foo34
    */
  bool foo34;
};

class Bar {
public:
  /**
    * @config Bar12
    * @default true
    * @range true, false
    * @purpose set this false if you don't want Bar12
    */
  bool bar12;    
};

这应该会产生如下输出:

Config: Foo12
Default true
Range true, false 如果你不想要Foo12 Config: Foo34 Default false Range true, false 如果你想要Foo34 Config : Bar12 Default true Range true , false
目的设置这个false如果你不想要 Bar12










我对Grouping , \xrefitem, ALIASES , Custom Commands比较熟悉,但我无法弄清楚如何将它们一起使用来实现上述目标。

\xrefitem每个自定义命令创建一个单独的页面。分组将文档放置在源中出现的任何位置。这些对于一次性向用户显示所有可用的配置设置并不是很有帮助。

我可以尝试哪些方法来使其正常工作?解决方案不需要干净或优雅,使用变通方法是可以的。

4

1 回答 1

1

这有什么好处?

在 doxyfile 中设置别名

ALIASES  =  "wibble=@xrefitem wibble \"Wibbles!\" \"Wibble List\""

并使用

@wibble
- \b Config fobbling 
- \b Default 4245345346
- \b Range 500 yards

在代码中。

输出并不完美,但对我来说看起来可行(我刚刚尝试过)。

于 2013-11-07T16:56:02.377 回答