[tweener] Doxygen documentation issues

Hi, I am writing the documentation of Boost.Tweener and I encounter various difficulties. One of them is the generation of the class documentation with doxygen. It seems that it cannot extract the class and member documentation from .ipp files. I like to document the methods of my classes near the implementation. In Boost.Tweener, most of the class documentation is then in the .ipp files and I have written the following lines in the Jamfile.v2: import quickbook ; using boostbook ; using doxygen ; doxygen reference : [ glob ../../../boost/tweener/*.hpp ] [ glob ../../../boost/tweener/detail/*.hpp ] [ glob ../../../boost/tweener/detail/impl/*.ipp ] [ glob ../../../boost/tweener/detail/impl/easing/*.ipp ] [ glob ../../../boost/tweener/easing/*.hpp ] But when I try to build the documentation, I have the following error: boost_1_52_0/tools/build/v2/build/generators.jam:1085: in ensure-type from module generators error: target { ../../../boost/tweener/detail/impl/tweener_group.ipp. } has no type Moreover, if I remove the ipp files, the generation of the documentation does not fail but the doxygen documentation is not extracted, except for the private members. So, how can I also disable the extraction of the private members in the documentation? You can check the Jamfile.v2 in the git repository of the project: http://libclaw.git.sourceforge.net/git/gitweb.cgi?p=libclaw/boost-tweener;a=... Regards, Julien

AMDG On 02/26/2013 01:28 PM, Julien Jorge wrote:
Hi,
I am writing the documentation of Boost.Tweener and I encounter various difficulties. One of them is the generation of the class documentation with doxygen. It seems that it cannot extract the class and member documentation from .ipp files.
I like to document the methods of my classes near the implementation. In Boost.Tweener, most of the class documentation is then in the .ipp files and I have written the following lines in the Jamfile.v2:
<snip>
But when I try to build the documentation, I have the following error:
boost_1_52_0/tools/build/v2/build/generators.jam:1085: in ensure-type from module generators error: target { ../../../boost/tweener/detail/impl/tweener_group.ipp. } has no type
I can fix this globally, but for now, the easiest fix is: import type ; type.register-suffixes ipp : HPP ;
Moreover, if I remove the ipp files, the generation of the documentation does not fail but the doxygen documentation is not extracted, except for the private members. So, how can I also disable the extraction of the private members in the documentation?
Doxygen XML is a bit annoying about that. Last time I tried, it seemed to ignore the option that's supposed to hide private members. What we usually use is /** INTERNAL ONLY */ which will cause BoostBook to strip it out. In Christ, Steven Watanabe

Le mardi 26 février 2013 à 20:47 -0800, Steven Watanabe a écrit :
AMDG
On 02/26/2013 01:28 PM, Julien Jorge wrote:
Hi,
I am writing the documentation of Boost.Tweener and I encounter various difficulties. One of them is the generation of the class documentation with doxygen. It seems that it cannot extract the class and member documentation from .ipp files.
I like to document the methods of my classes near the implementation. In Boost.Tweener, most of the class documentation is then in the .ipp files and I have written the following lines in the Jamfile.v2:
<snip>
But when I try to build the documentation, I have the following error:
boost_1_52_0/tools/build/v2/build/generators.jam:1085: in ensure-type from module generators error: target { ../../../boost/tweener/detail/impl/tweener_group.ipp. } has no type
I can fix this globally, but for now, the easiest fix is:
import type ; type.register-suffixes ipp : HPP ;
It worked well. Thanks :)
Moreover, if I remove the ipp files, the generation of the documentation does not fail but the doxygen documentation is not extracted, except for the private members. So, how can I also disable the extraction of the private members in the documentation?
Doxygen XML is a bit annoying about that. Last time I tried, it seemed to ignore the option that's supposed to hide private members. What we usually use is /** INTERNAL ONLY */ which will cause BoostBook to strip it out.
I will search another workaround since this one is a bit intrusive. Thanks for the tip. Julien

AMDG On 02/28/2013 10:17 AM, Julien Jorge wrote:
Le mardi 26 février 2013 à 20:47 -0800, Steven Watanabe a écrit :
On 02/26/2013 01:28 PM, Julien Jorge wrote:
Moreover, if I remove the ipp files, the generation of the documentation does not fail but the doxygen documentation is not extracted, except for the private members. So, how can I also disable the extraction of the private members in the documentation?
Doxygen XML is a bit annoying about that. Last time I tried, it seemed to ignore the option that's supposed to hide private members. What we usually use is /** INTERNAL ONLY */ which will cause BoostBook to strip it out.
I will search another workaround since this one is a bit intrusive. Thanks for the tip.
I've also used /// \cond show_private_members private stuff /// \endcond In Christ, Steven Watanabe

-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Steven Watanabe Sent: Wednesday, February 27, 2013 4:48 AM To: boost@lists.boost.org Subject: Re: [boost] [tweener] Doxygen documentation issues
AMDG how can I also disable the extraction of the private members in the documentation?
Doxygen XML is a bit annoying about that. Last time I tried, it seemed to ignore the option
that's
supposed to hide private members. What we usually use is /** INTERNAL ONLY */ which will cause BoostBook to strip it out.
I've added this in all the namespace detail section and this is effective at reducing the items that are in the C++ reference section (from Quickbook). This is what a typical *user* wants - the implementation stuff in namespace detail (for example) is just clutter. But an *author or maintainer* might want all the detail sections included in the C++ reference section. I can achieve this by horribly hacking the *.*pp files to change all INTERNAL ONLY to INTERNAL AS WELL - or something. Can you suggest a better way of switching this INTERNAL ONLY feature on/off? Thanks Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

AMDG On 11/05/2013 10:10 AM, Paul A. Bristow wrote:
Doxygen XML is a bit annoying about that. Last time I tried, it seemed to ignore the option that's supposed to hide private members. What we usually use is /** INTERNAL ONLY */ which will cause BoostBook to strip it out.
I've added this in all the namespace detail section and this is effective at reducing the items that are in the C++ reference section (from Quickbook).
This is what a typical *user* wants - the implementation stuff in namespace detail (for example) is just clutter.
But an *author or maintainer* might want all the detail sections included in the C++ reference section.
I can achieve this by horribly hacking the *.*pp files to change all INTERNAL ONLY to INTERNAL AS WELL - or something.
Can you suggest a better way of switching this INTERNAL ONLY feature on/off?
These days, I use \cond show_private instead. In Christ, Steven Watanabe

On Tue, Feb 26, 2013 at 4:28 PM, Julien Jorge < julien.jorge@stuff-o-matic.com> wrote:
Hi,
I am writing the documentation of Boost.Tweener and I encounter various difficulties. One of them is the generation of the class documentation with doxygen. It seems that it cannot extract the class and member documentation from .ipp files.
Another alternative may be the EXTENSION_MAPPING section of a doxyfile. http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_extension_mappin... Cheers! Andrew Hundt
participants (2)
-
Andrew Hundt
-
Julien Jorge
-
Paul A. Bristow
-
Steven Watanabe