C++ 是否将带有自定义项的节添加到类文档中?

C++ 是否将带有自定义项的节添加到类文档中?,c++,doxygen,C++,Doxygen,(C++)类的Doxygen文档有不同的部分,如“公共成员函数”和“私有属性”。我想添加一个自定义节,其中的条目不是我的类的成员。有办法吗 具体地说,我的类有*methods,比如SetProperty(std::string name,int value),它接受各种属性名称,我想记录属性名称的有效选项。现在我列出了支持属性的私有字段,并将属性名称放在注释中,这有点不太理想 *)在有人建议只更改代码之前,这个接口是出于我无法控制的原因而存在的,我无法更改它。其思想是允许松散耦合,并在脚本中设

(C++)类的Doxygen文档有不同的部分,如“公共成员函数”和“私有属性”。我想添加一个自定义节,其中的条目不是我的类的成员。有办法吗

具体地说,我的类有*methods,比如
SetProperty(std::string name,int value)
,它接受各种属性名称,我想记录属性名称的有效选项。现在我列出了支持属性的私有字段,并将属性名称放在注释中,这有点不太理想



*)在有人建议只更改代码之前,这个接口是出于我无法控制的原因而存在的,我无法更改它。其思想是允许松散耦合,并在脚本中设置类的属性。

Doxygen支持的概念正是您想要的。只需像这样将成员括起来:

struct MyClass
{
  int nongroup_member;

  /*!
    \name MyGroupName
    Group description
    Note that this entire block is optional
  */
  //! @{
  int member_in_group;
  int another_member_in_group;
  //! @}
};

如果您要在组中记录的成员实际上不作为成员存在,您应该能够在组中为他们引入“假”声明,并
\ifdef#endif
由宏控制的块,该宏将仅为Doxygen运行定义。

谢谢,成员组可以工作(但我必须向类中添加\n子组,以便该组与其他组显示在同一级别上)。然而,这些假会员不适合我。似乎doxygen仍然希望在其他地方的代码中声明该成员。@jdm假成员应该可以工作,至少可以自己工作。你能在没有分组的情况下尝试它们,以确保语法等正确吗?我仔细检查了它,得到了
警告:有文档记录的函数“int CP::MyClass::fakeMember”没有声明或定义
,并且它没有显示在文档中。另请参见@jdm-Hm,我认为它应该会起作用:-(我提供了另一种解决方案。