A bug in Doxygen parser?

Libor Bukata <[email protected]>
Newsgroups gmane.text.doxygen.general
Message-ID <[email protected]>
Hi,


I have encountered the problem with the Doxygen parser for the following 
code:

// HEADER FILE: 'test.h'

#ifndef HLIDAC_PES_TEST_H
#define HLIDAC_PES_TEST_H

#include <vector>
#include <utility>

struct T {
         void f(const std::vector<void*>& v);
         void f(const std::pair<double, double>& p);
};

#endif

// SOURCE FILE: 'test.cpp'
#include "test.h"

using namespace std;

void T::f(const vector<void*>& v)       { }

void T::f(const pair<double, double>& p) { }


If you generate the documentation (BUILTIN_STL_SUPPORT is set to YES), 
then you get the following warning:

Searching for member function documentation...
.../test/test.cpp:7: warning: no matching class member found for
   void T::f(const pair< double, double > &p)
Possible candidates:
   void T::f(const std::vector< void *> &v)
   void T::f(const std::pair< double, double > &p)

The problem does not occur if:

- The namespace 'std' is explicitly stated in cpp file.

- If overloading is not used, i.e. each function has a different name.


Questions:

Is there a way how to deal with this issue without being inconsistent?

Is this a real bug or warning can be ignored?


Thank you for your help,

best regards, Libor Bukata.





------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.