After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 153376 - documentation of template parameters should be possible
documentation of template parameters should be possible
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.2.x
Other Linux
: Low enhancement
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2004-09-22 05:27 UTC by Matthias Klose
Modified: 2008-02-10 13:03 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matthias Klose 2004-09-22 05:27:32 UTC
[forwarded from http://bugs.debian.org/227864]

When writing documentation about C++ templates it should be possible
to describe the fuctionality of template parameters like with @param.
Comment 1 Jason Hughes 2004-09-29 17:37:14 UTC
Actually, this bug appears related to the number of angle-brackets in the 
parameter list.  One set is okay (see bottom function), but two sets cause it 
to miss @param calls, whether it's one nested template parameter or two 
separate template parameters.  This is a simplification of some code that 
exhibits the problem, but I don't have time to make it go through Doxygen at 
the moment.  When I put it in a working .cpp file, it fails to produce anything 
at all for the whole file.

/// Something about class
class Class
{
bool isEqual(std::vector<int> const &ids, std::vector<int> const *foos) const;
void interpolate(std::vector<std::pair<int, float> > const &ids, int const 
newId, std::vector<int> const *foos);
void deleteId(int const id, std::vector<int> const *foos);
};

/// @param ids    some ids
/// @param foo    some foos
bool Class::isEqual(std::vector<int> const &ids, std::vector<int> const *foos) 
const
{
   // this fails to locate parameters
}

/// @param ids    several ids
/// @param newId  new id
/// @param foos   some foos
void Class::interpolate(std::vector<std::pair<int, float> > const &ids, int 
const newId, std::vector<int> const *foos)
{
   // this fails to locate parameters
}

/// @param id      identify my foos
/// @param foos    my foos
void Class::deleteId(int const id, std::vector<int> const *foos)
{
  // this SUCCEEDS in locating parameters
}
Comment 2 Dimitri van Heesch 2008-01-31 21:16:53 UTC
In the next release, I will include a new command, called @tparam (or <typeparam>..</typeparam> if you prefer C# XML syntax) to document template parameters.
Comment 3 Braden 2008-01-31 21:49:54 UTC
Sweet! This has been my #1 wish for Doxygen for a while. Thanks!

Comment 4 Dimitri van Heesch 2008-02-10 13:03:13 UTC
This bug was marked assigned, which means to should be fixed in version 1.5.5 of doxygen. Please verify if this is indeed the case, and if not, reopen the bug and provide additional information if possible.