如何在doxygen中隐藏特定函数(在c ++中)?

Ran*_*ana 15 c++ doxygen

我有一个类可能有功能,我想隐藏一个特定的功能.例如

class Test
{

   /**
    * About Function1
    *
    * @param[in]  arg1  About arg1
    * @param[in]  arg2  About arg2
    */        
    public void Function1(int arg1,char arg2);

    // Presume same documentation for this function also
    public void Function2(int,char);

    // Presume same documentation for this function also
    public void Function3(int,char);

    // Presume same documentation for this function also
    public void Function4(int,char);
} 
Run Code Online (Sandbox Code Playgroud)

假设我想隐藏说Function2我该怎么做.

现在,在当前场景中,它显示了所有四个功能及其文档.

现在,我在.doxygen规则文件中设置了以下属性:

EXTRACT_ALL = YES

你能告诉我一些可以隐藏的东西吗?

Okt*_*ist 14

如果您EXTRACT_PRIVATE = NO在配置文件中,那么您可以将任何成员标记为Doxygen私有,并且它不会为该成​​员生成文档:

/// @private
public void Function2(int, char);
Run Code Online (Sandbox Code Playgroud)

额外问题:如果您想为所有四个成员使用相同的文档,您可以使用以下方法之一:

/**
 * About Function1,2,3,4...
 */
/// @{
public void Function1(int arg1, char arg2);
public void Function2(int arg1, char arg2);
public void Function3(int arg1, char arg2);
public void Function4(int arg1, char arg2);
/// @}

/**
 * About Function1,2,3,4...
 */
public void Function1(int arg1, char arg2);
/// @copydoc Function1
public void Function2(int arg1, char arg2);
/// @copydoc Function1
public void Function3(int arg1, char arg2);
/// @copydoc Function1
public void Function4(int arg1, char arg2);
Run Code Online (Sandbox Code Playgroud)

使用@{...的@}那个需要DISTRIBUTE_GROUP_DOC = YES在配置文件中使用.


Tot*_*nga 14

使用cond或内部

/*! \cond PRIVATE */
//only documented if cond is enabled
// ...
/*! \endcond */
Run Code Online (Sandbox Code Playgroud)


Cin*_*out 8

做这样的事情:

#ifndef DOXYGEN_SHOULD_SKIP_THIS

 /* code that must be skipped by Doxygen */
 /* in your case a method/function */

#endif /* DOXYGEN_SHOULD_SKIP_THIS */
Run Code Online (Sandbox Code Playgroud)

并在配置文件中,将PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS 确保ENABLE_PREPROCESSING设置为YES.

简而言之,您只是利用预处理器概念为您服务!