Hi,

Using Quickbook/BoostBook/Doxygen toolkit I've detected some problems
while generating the reference section. I've done an small example that
reproduces these problems.

To generate the documentation, just put the files in the
$(BOOST_ROOT)/libs/docbug/doc directory and type "bjam --v2". The class
to be documented (also attached in a hpp file) is the following:

//! This is a class
//! template
template<class T, bool bool_param = true>
class buggy
{
  private:
  //! Non-copyable
  //! class
  buggy(const buggy&);

  //! Non-assignable
  //! class
  buggy& operator=(const buggy&);

  public:

  //!Public
  //!enumeration
  enum enum_name{ enum_value_0, enum_value_1, enum_value_2 };

  //! Member class
  //! template
  template<class U, class V>
  class internal
  {};
};

These are the problems:

-> The default value of the bool_param template parameter does not
appear in the reference.

-> The copy constructor and assignment operator appear in the public
section of the reference.

-> The "internal" member class does not appear in the reference.

-> The enumeration does not appear in the reference.

The xml file produced by the toolset containing the reference
("docbug_doxygen.doxygen") seems to be correct (the default value
appears, the CC/AO are private, and internal class and enumeration is
referenced).

I'm not sure where this problem lies (maybe in the doxygen2boostbook.xsl
file?) but although I've tested this with a recent boost snapshot
(2007-02-25) I think the problem was present in previous boost releases.

I've also found that even if EXTRACT_PRIVATE = NO is specified for
Doxygen in the Jamfile, Doxygen generates an XML that includes private
functions. I've reported a bug to the Doxygen Bugzilla, but couldn't we
have a boostbook flag to avoid including private functions in the
reference section?

Thanks,

Ion
//! This is a class 
//! template
template<class T, bool bool_param = true>
class buggy
{
   private:
   //! Non-copyable
   //! class
   buggy(const buggy&);

   //! Non-assignable
   //! class
   buggy& operator=(const buggy&);

   public:

   //!Public
   //!enumeration
   enum enum_name{ enum_value_0, enum_value_1, enum_value_2 };

   //! Member class
   //! template
   template<class U, class V>
   class internal
   {};
};

Attachment: docbug.qbk
Description: Binary data

Attachment: Jamfile.v2
Description: Binary data

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-docs mailing list
[email protected]
Unsubscribe and other administrative requests: 
https://lists.sourceforge.net/lists/listinfo/boost-docs

Reply via email to