Previously, class members and free functions in sectiondef with
kind="user-defined" would be stripped from HTML output, making function
grouping effectively non-functional. This commit fixes this by converting
such sectiondefs to either method-group or free-function-group in BoostBook
output, depending on whether the grouping is within a class or namespace.
Additionally, previously constructors, destructors and assignment operators
were not allowed to be inside method-groups, which were another reason for
these members to be stripped from the output. This commit allows these members
in member-groups and modifies DTD accordingly.
Also, this fixes duplicate constructors, destructors and assignment operators
generated after the sections for public, private and protected member
functions. This was due to applying XSL templates twice - once when generating
method-group, and then after the method-group.
Doxygen 1.9.1 generates enum <initializer> tags with text starting with
an equal sign ('=') followed by the enum value initializer. This sign
was copied under the BoostBook <default> tag, and BoostBook styleseets
add an equal sign of their own when converting this tag to HTML. This
resulted in duplicate equal signs in the HTML output.
This commit strips the leading equal sign from the initializer before
putting it into the <default> tag.
It turns out the '\code' blocks don't have this problem, so an easier
fix would be just to use them. But now I've implemented the workaround,
might as well leave it in, in case anyone wants to use <pre> blocks in
the future.
Turns out Doxygen doesn't like BOOST_NOEXCEPT_IF. Text parsing in XSL is an
almighty pain, it might be better to just combine whatever follows the
arguments in argsstring with the values from the attributes.
[SVN r86285]
This may seem like overkill, but it's going to be needed for handling
parameters to noexcept. Doesn't handle escapes because that my sanity is
already stretched far enough.
[SVN r86284]
Should really add proper support to boostbook for `=delete`, `=default` and
noexcept, but I'm not feeling that keen right now. I'm not sure I did the right
thing with `BOOST_CONSTEXPR_OR_CONST`.
[SVN r86277]
It added partial support for protected and private attributes and friend
functions. But since it isn't complete support it was doing more harm
than good.
[SVN r52321]