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

时间:2014-04-10 14:07:56

标签: 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);
} 

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

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

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

EXTRACT_ALL = YES

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

4 个答案:

答案 0 :(得分:14)

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

/// @private
public void Function2(int, char);

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

/**
 * 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);

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

答案 1 :(得分:12)

使用cond或internal

/*! \cond PRIVATE */
//only documented if cond is enabled
// ...
/*! \endcond */

答案 2 :(得分:8)

做这样的事情:

#ifndef DOXYGEN_SHOULD_SKIP_THIS

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

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

在配置文件中,添加PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS 确保ENABLE_PREPROCESSING设置为YES

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

答案 3 :(得分:1)

我想我曾经使用EXCLUDE_SYMBOLS来实现这样的目标。

  

EXCLUDE_SYMBOLS标记可用于指定一个或多个符号名称    (名称空间,类,函数等)应该从中排除    输出。符号名称可以是完全限定名称,单词或者如果是    使用通配符*,子串。示例:ANamespace,AClass,    AClass :: ANamespace,ANamespace :: * Test

不幸的是,我无法完全回想起也找不到配置条目。

EXCLUDE_SYMBOLS = Test::Function2*