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