Doxygen 1.8.5, C++, using @ instead of \ for doxygen Special Commands, and
INTERNAL_DOCS = YES
1) I have markup inside a class constructor like this:
//! @page Com Windows COM
//! @section ComRegistry Registry Example
//!
//! @verbatim
//! __uuidof(NetFwMgr) == {304CE942-6E39-40D8-943A-B913C40C9CD4}
//!
//! [HKEY_CLASSES_ROOT\CLSID\{304CE942-6E39-40D8-943A-B913C40C9CD4}]
//! @="HNetCfg.FwMgr"
//!
//! ...
//!
#ifdef DEBUG
StringFromCLSID(__uuidof(INetFwMgr), &uuid_string);
_RPTW1(_CRT_WARN, L"INetFwMgr %s\n", uuid_string);
#endif
//! __uuidof(INetFwMgr) == {F7898AF5-CAC4-4632-A2EC-DA06E5111AF2}
//!
//! [HKEY_CLASSES_ROOT\Interface\{F7898AF5-CAC4-4632-A2EC-DA06E5111AF2}] \n
//! @="INetFwMgr"
//!
//! @endverbatim
It renders almost as expected. Four lines appear that correlate to the #ifdef
whether or not but there are four lines in the middle of the verbatim block...
blank for preprocessor commands and if doxygen sees a #define, then either
blank or non-blank lines. That's NOT the issue. It makes sense.
I could just leave the markup above and just deal with the blank lines because
#define DEBUG does not appear in source files (only in the IDE), but I tried to
clean up the markup like this:
//! @page Com Windows COM
//! @section ComRegistry Registry Example
//!
//! @verbatim
//! __uuidof(NetFwMgr) == {304CE942-6E39-40D8-943A-B913C40C9CD4}
//!
//! [HKEY_CLASSES_ROOT\CLSID\{304CE942-6E39-40D8-943A-B913C40C9CD4}]
//! @="HNetCfg.FwMgr"
//!
//! ...
//!
//! @endverbatim
#ifdef DEBUG
StringFromCLSID(__uuidof(INetFwMgr), &uuid_string);
_RPTW1(_CRT_WARN, L"INetFwMgr %s\n", uuid_string);
#endif
//! @verbatim
//!
//! __uuidof(INetFwMgr) == {F7898AF5-CAC4-4632-A2EC-DA06E5111AF2}
//!
//! [HKEY_CLASSES_ROOT\Interface\{F7898AF5-CAC4-4632-A2EC-DA06E5111AF2}] \n
//! @="INetFwMgr"
//!
//! ...
//!
//! @endverbatim
At this point, the second @verbatim block completely disappears. THAT is the
issue. While the original markup is a workaround, it seems like this might
be indicative of a flaw. I wonder why consecutive @verbatim do not work.
2) As an aside, even though I can see that @verbatim means "verbatim", the //!
all appear in the documentation. I understand that I could use C-style comments
to workaround that, but that leads to inconsistency in the code commenting.
Maybe there is a better way to do all of this. If so, I could use a hint to
push me in the right direction.
---
Kevin R. Bulgrien
New Product Development Engineer
The author is not under control of what appears below this point...
This message and/or attachments may include information subject to GD Corporate
Policy 07-105 and is intended to be accessed only by authorized personnel of
General Dynamics and approved service providers. Use, storage and transmission
are governed by General Dynamics and its policies. Contractual restrictions
apply to third parties. Recipients should refer to the policies or contract to
determine proper handling. Unauthorized review, use, disclosure or
distribution is prohibited. If you are not an intended recipient, please
contact the sender and destroy all copies of the original message.
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Doxygen-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-users