Two bugs generating docs using bjam --v2

I have been following Douglas Gregor's prescriptions on how to generate boostbook docs, outlined on the boost web pages. All works beautifully, so many thanks. However, I find that generating reference docs using bjam and doxygen results in a couple of errors in the docs. I don't know whether the problem lies in bjam or in doxygen, but thought you should have a heads up. This is all with boost-jam-3.1.9-1 doxygen-1.3.4-1 Example 1 A header file containing: template <typename DataT> class process_base { protected: process_base(); process_base(process_base const &); }; results in docs: template<typename DataT> class process_base { public: // construct/copy/destruct process_base(); process_base(process_base const }; Note the change from 'protected' to 'public'. Example 2. This class: struct pprocess_data { /// Type used for file descriptors. typedef int fd_t; /// Pipe used to write to child process' stdin. fd_t wpipe; /// Two pipes to read from child process' stdout and stderr. fd_t rpipe[2]; }; results in these docs: struct pprocess_data { // types typedef int fd_t; // Type used for file descriptors. // public member functions fd_t wpipe; fd_t rpipe; }; Note that the 'rpipe' is no longer an array. Also, shouldn't the 'public member functions' comment be supressed? bjam warning messages are: Cannot handle sectiondef with kind=private-type Cannot handle sectiondef with kind=private-attrib Cannot handle sectiondef with kind=related Cannot handle sectiondef with kind=protected-type Cannot handle sectiondef with kind=protected-attrib I can supply header files and jamfile if required. Regards, Angus

On Wed, 16 Jun 2004, Angus Leeming wrote:
I have been following Douglas Gregor's prescriptions on how to generate boostbook docs, outlined on the boost web pages. All works beautifully, so many thanks.
Amazing. It usually doesn't go so smoothly :)
Example 1
A header file containing:
template <typename DataT> class process_base { protected: process_base(); process_base(process_base const &); };
results in docs: template<typename DataT> class process_base { public: // construct/copy/destruct process_base(); process_base(process_base const };
Note the change from 'protected' to 'public'.
Definitely a BoostBook bug.
Example 2.
This class: struct pprocess_data { /// Type used for file descriptors. typedef int fd_t;
/// Pipe used to write to child process' stdin. fd_t wpipe; /// Two pipes to read from child process' stdout and stderr. fd_t rpipe[2]; };
results in these docs: struct pprocess_data { // types typedef int fd_t; // Type used for file descriptors.
// public member functions
fd_t wpipe; fd_t rpipe; };
Note that the 'rpipe' is no longer an array. Also, shouldn't the 'public member functions' comment be supressed?
Both of these are BoostBook bugs.
I can supply header files and jamfile if required.
No need; I can reproduce these. Doug

Douglas Paul Gregor wrote:
On Wed, 16 Jun 2004, Angus Leeming wrote:
I have been following Douglas Gregor's prescriptions on how to generate boostbook docs, outlined on the boost web pages. All works beautifully, so many thanks.
Amazing. It usually doesn't go so smoothly :)
It wasn't happy until I downloaded the xsl and dtd stuff but thereafter all was fine.
Both of these are BoostBook bugs.
Glad I've been useful then. One more thing: boostbook doesn't like the doxygen '\file' command: /// @file child/config.hpp /home/angus/boost/cvs/boost/child/config.hpp:6: Warning: Found unknown command `\file' Incidentally, I see that between them doxygen/boostbook specify '\throws'. However, '\precondition' and '\postcondition' appear to be missing. Regards, Angus
participants (2)
-
Angus Leeming
-
Douglas Paul Gregor