[Doxygen-users] Problem with Makros
Brought to you by:
dimitri
|
From: Martini, M. <M.M...@Ve...> - 2001-06-08 12:31:41
|
Hi all,
I'm novice to doxygen. In our project we use version 1.2.6. (Windows
Version) and we have sourcecode like this:
Header:
class _CLASSTYPE CImpIAutoApplication : public IAutoApplication
{
/* ... */
public:
STDMETHOD_(ULONG, AddRef)(THIS) ;
/* ... */
};
The implementation:
STDMETHODIMP_(ULONG) CImpIAutoApplication::AddRef()
{
return ++m_ulRefCnt;
}
Then I inserted a few comments for all methods that belongs to that class.
Doxygen identifies all comments except those for methods like this AddRef().
The documentation looks like doxygen indentifies STDMETHODIMP_ as a method
name of my class.
I use the following settings:
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
I tried another syntax:
Declaration:
ULONG STDMETHODCALLTYPE AddRef();
Implemetation:
ULONG STDMETHODCALLTYPE CImpIAutoApplication::AddRef()
With this syntax it works fine.
I think that the makro expansion does not work on some unknown reason and
that doxygen identifies the first right parenthesis as the end of the method
name.
But we have so much generated code that looks like the sample above.
Therefore I hope that someone has an idea how doxygen can manage this
without changing the syntax.
Best regard
Michael Martini
|