Documenting a function of a static C ++ template with Doxygen

Hi, I have a problem with documenting the static function of a C ++ class template with Doxygen:

Clazz.h:

#ifndef CLAZZ_H
#define CLAZZ_H

/*! \file clazz.h
 *  \brief Clazz declaration
 *  \author Me and myself
 *  \sa Clazz
 */

/*! \class Clazz
 *  \brief About class
 */
class Clazz
{

public:

  /*! \fn TYPE func(TYPE value)
   *  \brief About static func
   *  \param value Parameter
   *  \returns Some value of \c TYPE
   *  \tparam TYPE Class type.
   */
  template<typedef TYPE>
  static TYPE func(TYPE value);
};

#endif

Clazz.cpp:

#include "clazz.h"

/*! \file clazz.cpp
 *  \brief Clazz implementation
 *  \author Me and myself
 *  \sa Clazz
 */

template<typedef TYPE> 
TYPE Clazz::func(TYPE value)
{
  return value;
}

Doxygen shows:

Generating docs for compound Clazz...
xxx/clazz.cpp:10: Warning: Member func(TYPE value) (function) of class Clazz is not documented.

and when I look at the HTML output, I can see this function twice:

Public Member Functions
template<typedef TYPE> TYPE (TYPE value)

Static Public Member Functions
template<typedef TYPE> static TYPE func (TYPE value)
About func. More...

I do not need this non-static documentation.

Any ideas how to do this?

Thank.

+3
source share
1 answer

I had a similar problem with a bunch of template functions that appeared twice in the documentation, once as static and once.

.inl (- .hpp ), .h. EXTENSION_MAPPING inl=c++ . .h, , Doxygen , , . , Doxygen - , static . , ++ - .

.inl, , ( @file). , , - . , (, , ) .inl #ifndef DOXYGEN .

0

All Articles