I also encountered the same problem (with doxygen 1.4.4 and 1.3.9.1).
The attached is my quick hack for
tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl, which should solve
the problem.
Best regards,
Synge
Thank you!
The patch almost solves this problem but fails with partial template
specializations. I've also seen that member template classes (like
rebind<> in allocators) are not generated with BoostBook Doxygen.
Anyway, the patch is a big improvement. I think it should be added to
Boostbook development branch.
Here I attach a new test case with partial specialization and member
rebind<> class. 3 files are attached: the Jamfile.v2 to construct
documentation, the .qbk file and a header. To construct documentation:
$ quickbook dummy.qbk
$ bjam --v2
The rebind<> member is not documented and the partial specialization of
has_trivial_constructor breaks documentation. Doxywizard has no problems
with these.
Regards,
Ion
import boostbook : boostbook ;
using quickbook ;
import doxygen : doxygen ;
boostbook dummy
:
dummy.xml
dummy.doxygen
:
<xsl:param>boost.root=../../../..
;
doxygen dummy.doxygen
:
[ glob dummy_classes.hpp ]
;
[library Dummy
[version 2005-09-18]
[authors [Gaztañaga, Ion]]
[copyright 2005 Ion Gaztañaga]
[purpose Shared memory utilities]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
<ulink url="http://www.boost.org/LICENSE_1_0.txt">
http://www.boost.org/LICENSE_1_0.txt
</ulink>)
]
[last-revision $Date: 2005/09/18 00:00:00 $]
]
[/ QuickBook Document version 1.1 ]
[xinclude dummy.doxygen.boostbook]
#ifndef _DUMMY_CLASSES_HPP_
#define _DUMMY_CLASSES_HPP_
namespace boost
{
namespace dummy_namespace
{
/*!Dummy class*/
template <class T>
class dummy_class
{
public:
/*!rebind structure*/
template <class T2>
struct rebind
{
typedef dummy_class<T2> type;
};
/*!dummy_func() function*/
void dummy_func();
};
template<class T>
struct has_trivial_constructor< dummy_namespace::dummy_class<T> >
: true_type
{};
}
}
#endif