Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 功能组的文档注释_C++_Doxygen_Documentation Generation - Fatal编程技术网

C++ 功能组的文档注释

C++ 功能组的文档注释,c++,doxygen,documentation-generation,C++,Doxygen,Documentation Generation,我想用Doxygen生成一个API文档 由于它是一个C API,我既没有默认参数也没有模板,因此 /** @brief foo * Do the foo * @param typed A typed parameter * @param bar Optional parameter 1 * @param baz Another optional parameter */ template<typename T> void foo(T typed, bool bar=true

我想用Doxygen生成一个API文档

由于它是一个C API,我既没有默认参数也没有模板,因此

/** @brief foo
 * Do the foo
 * @param typed A typed parameter
 * @param bar Optional parameter 1
 * @param baz Another optional parameter
 */
template<typename T> void foo(T typed, bool bar=true, bool baz=true);
对于组(
{
/
}
),文档和参数应用于所有函数,但对于每个可选参数和函数(
bar
baz
),我得到一个警告

下一种方法涉及
@copydoc

/** @brief foo
 * Do the foo
 * @param typed A typed parameter
 * @param bar Optional parameter 1
 * @param baz Another optional parameter
 */
void foo_int3(int typed, bool bar, bool baz);
/// @copybrief foo_int3 @sa foo_int3
void foo_int(int typed);
/// @copybrief foo_int3 @sa foo_int3
void foo_int2(int typed, bool bar);
/// @copybrief foo_int3 @sa foo_int3
void foo_float(float typed);
/// @copybrief foo_int3 @sa foo_int3
void foo_float2(float typed, bool bar);
/// @copybrief foo_int3 @sa foo_int3
void foo_float3(float typed, bool bar, bool baz);
这将复制简要说明并插入到完整文档化功能的链接,但需要用户遵循该链接并查看哪些参数是相关的

理想情况下,我想要的是:

/** @brief foo
 * @param typed A typed parameter
 * @optparam bar A parameter that's documented if it's actually in the function signature
 */
最小的氧气配置如下所示:

# Doxyfile 1.8.13
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = doxygen_mwe
DISTRIBUTE_GROUP_DOC   = YES
EXTRACT_ALL            = YES
INPUT                  = ./
FILE_PATTERNS          = *.h

从最复杂的版本开始,为什么不从最简单的版本开始,并根据需要添加其他参数

比如:


当对组使用此结构时,请不要忘记设置您使用的是哪个版本的doxygen?你的Doxyfile中有什么特殊设置吗?这是个好主意。让我继续回答我的下一个问题“如何按反转的函数名对C头文件进行排序”;-)请不要在评论中提出新问题,但要从中提出新问题!只需给出一个你想要的例子(从这样一个小评论中不是100%清楚)。这主要是开玩笑,但因为它可能对其他人有用:我通过搜索
foo\uw\+(
foo\uw\+1(
等)重新排序函数,然后复制块。我通过将函数分组为
@{
这样我就可以按相反的顺序一次为所有类型记录
foo\
:你的意思是什么,只要确保int3是文件中的第一个函数,int2是第二个函数,第三个函数?不要忘了设置
排序成员\u DOCS=NO
,因为默认情况下这是设置为
YES
# Doxyfile 1.8.13
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = doxygen_mwe
DISTRIBUTE_GROUP_DOC   = YES
EXTRACT_ALL            = YES
INPUT                  = ./
FILE_PATTERNS          = *.h
/** @brief foo
 * Do the foo
 * @param typed A typed parameter
 * @{
 */
void foo_int(int typed);
void foo_float(int typed);
/// @}
/** @copydoc foo_int
 * @param bar Optional parameter 1
 * @{
 */
void foo_int2(int typed, bool bar);
void foo_float2(int typed, bool bar);
/// @}
/** @copydoc foo_int2
 * @param baz Another optional parameter
 * @{
 */
void foo_int3(int typed, bool bar, bool baz);
void foo_float3(int typed, bool bar, bool baz);
/// @}