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
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to