Subject: Re: [Boost-docs] [boostbook] Supporting variadic template parameters
From: Douglas Gregor (dgregor_at_[hidden])
Date: 2008-05-02 20:47:04
On Wed, 2008-04-30 at 21:12 +0100, Daniel James wrote:
> I'd like to add support for variadic template parameters to BoostBook.
Cool.
> I've attached a patch showing what I've done so far - basically I'm
> adding a variadic attribute to template-type-parameter and
> template-nontype-parameter, for example:
>
> <method name="emplace">
> <template>
> <template-type-parameter name="Args" variadic="1">
> </template-type-parameter>
> </template>
> <parameter name="args">
> <paramtype>Args&&...</paramtype>
> </parameter>
> <type>std::pair<iterator, bool></type>
> </method>
I would suggest calling the attribute "parameter_pack" or "pack", rather
than "variadic", since it's more precise. One could even do the same for
<parameter name="args" pack="1">.
> for:
>
> template<typename... Args>
> std::pair<iterator, bool> emplace(Args&&... args)
>
> You can see the output on:
>
> http://unordered.nfshost.com/dev/doc/html/boost/unordered_set.html
Looks good.
> Does this seem like a good solution? Giving the attribute a "1" value
> seems very awkward, but I couldn't think of anything better (I copied
> it from the 'html-only' attribute). Maybe it would be better to add
> new tags for variadic parameters?
I think you have the right idea.
> Finally, I'll also need to update the boostbook reference. I assume
> that I should manually update reference.dtdxml. How is reference.xml
> generated from reference.dtdxml?
The stylesheet to generate the BoostBook reference from the dtdxml
sources is in
dtd/dtd2boostbook.xsl
Actually, when you re-run bjam in tools/boostbook/doc, it should
regenerate the appropriate BoostBook input from the dtdxml document.
- Doug
This archive was generated by hypermail 2.1.7 : 2017-11-11 08:50:40 UTC