First, I'd like to mention another project using Doxygen: libstdc++-v3,
the GNU Standard C++ Library now shipping with GCC 3.0. The documentation
is available via http://gcc.gnu.org/libstdc++/ .
Much of the code does not yet contain special comments; the version for
3.0 available above is the uncommented EXTRACT_ALL=YES version which lets
you see all the messy details. :-)
Anyhow... I'm trying to comment the code for use with EXTRACT_ALL=NO,
and am having problems with a template function at namespace level, using
doxygen 1.2.6. The code looks like this:
namespace std {
/**
* ...some @-style tags in here...
*
* The standard requires that the objects be passed by reference-to-const,
* but LWG issue #181 says they should be passed by const value.
*/
template <class _T1, class _T2>
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
//181. make_pair() unintended behavior
inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y)
#else
inline pair<_T1, _T2> make_pair(const _T1& __x, const _T2& __y)
#endif
{
return pair<_T1, _T2>(__x, __y);
}
} // namespace std
Doxygen completely skips this function, no matter what I do. However,
if I move the code into the global namespace rather than namespace std,
then make_pair correctly appears in the output.
What do I need to do for doxygen to see this function inside std:: correctly?
Many thanks,
Phil
--
Would I had phrases that are not known, utterances that are strange, in
new language that has not been used, free from repetition, not an utterance
which has grown stale, which men of old have spoken.
- anonymous Egyptian scribe, c.1700 BC
|