Merge in boostbook changes, fixes free-function-group and adds support for variadic parameters.

Merged revisions 45298-45302,45308-45338,45340-45345,45348-45352,45356-45358,45360-45377,45379-45392,45394,45396-45408,45410-45420,45424-45444,45448,45450-45455,45457-45478,45480,45484-45544,45546-45549,45551-45564,45566-45569,45571-45572,45575,45578-45584,45586-45593,45595-45597,45599,45605,45610-45618,45622-45624,45628-45632,45634-45637,45639-45644,45646,45648-45652,45654-45656,45666,45668-45670,45674-45675,45679-45680,45683-45684,45687,45691,45706-45708,45710-45741 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

................
  r45298 | fmhess | 2008-05-12 14:59:20 +0100 (Mon, 12 May 2008) | 6 lines
  
  Prevent a class' or namespace's associated free functions
  (a "free-function-group" element inside a "class" or "namespace" element)
  from reappearing in the synopsis of nested classes or namespaces.
  This is a merge of revision 45297 from the boost_docs sandbox.
................
  r45741 | danieljames | 2008-05-25 17:14:17 +0100 (Sun, 25 May 2008) | 35 lines
  
  Support for variadic parameters.
  
  Merged revisions 44832-44957,44959-44995,44997-45128,45132-45135 via svnmerge from 
  https://svn.boost.org/svn/boost/branches/doc
  
  ........
    r44832 | danieljames | 2008-04-28 07:55:01 +0100 (Mon, 28 Apr 2008) | 2 lines
    
    Add variadic attribute to template type parameters.
  ........
    r44943 | danieljames | 2008-04-30 20:27:32 +0100 (Wed, 30 Apr 2008) | 1 line
    
    Back out my half-done support for variadic template parameters.
  ........
    r44994 | danieljames | 2008-05-01 21:52:59 +0100 (Thu, 01 May 2008) | 1 line
    
    Support for variadic template parameters.
  ........
    r45132 | danieljames | 2008-05-05 12:37:35 +0100 (Mon, 05 May 2008) | 2 lines
    
    Rename variadic attributes pack.
  ........
    r45133 | danieljames | 2008-05-05 12:37:50 +0100 (Mon, 05 May 2008) | 2 lines
    
    Support for function parameter packs.
  ........
    r45134 | danieljames | 2008-05-05 12:38:08 +0100 (Mon, 05 May 2008) | 2 lines
    
    Support for inherited pack expansions.
  ........
    r45135 | danieljames | 2008-05-05 12:38:25 +0100 (Mon, 05 May 2008) | 2 lines
    
    Support for pack expansions in template specializations.
  ........
................


[SVN r46414]
This commit is contained in:
Daniel James 2008-06-15 19:48:40 +00:00
parent 67a527d63a
commit a25bf63826
7 changed files with 75 additions and 24 deletions

View File

@ -17,6 +17,7 @@
<attpurpose name="filename">The name of the file associated with this element</attpurpose>
<attpurpose name="specifiers">The specifiers for this function, e.g., <code>inline</code>, <code>static</code>, etc.</attpurpose>
<attpurpose name="cv">cv-qualifiers for this method, e.g., <code>const volatile</code></attpurpose>
<attpurpose name="pack">Set to '1' if the parameter is a parameter pack.</attpurpose>
<entity name="boost.class.content"
type="param"
@ -533,11 +534,16 @@
<attlist name="template-type-parameter">
<attdecl>
name CDATA #REQUIRED
pack CDATA #IMPLIED
%boost.common.attrib;</attdecl>
<attribute name="last-revision"
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="pack"
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="name"
type="#REQUIRED"
value="CDATA"
@ -825,6 +831,7 @@
<attlist name="inherit">
<attdecl>
access CDATA #REQUIRED
pack CDATA #IMPLIED
%boost.common.attrib;</attdecl>
<attribute name="last-revision"
type="#IMPLIED"
@ -840,6 +847,12 @@
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="pack"
type="#IMPLIED"
value="CDATA"
default="">
<purpose>Set to '1' if this is a pack exapansion.</purpose>
</attribute>
<attribute name="xml:base"
type="#IMPLIED"
value="CDATA"
@ -1656,7 +1669,9 @@
</element>
<attlist name="template-arg">
<attdecl> %boost.common.attrib;</attdecl>
<attdecl>
pack CDATA #IMPLIED
%boost.common.attrib;</attdecl>
<attribute name="last-revision"
type="#IMPLIED"
value="CDATA"
@ -1665,6 +1680,12 @@
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="pack"
type="#IMPLIED"
value="CDATA"
default="">
<purpose>Set to '1' if this is a pack exapansion.</purpose>
</attribute>
<attribute name="xml:base"
type="#IMPLIED"
value="CDATA"
@ -2159,11 +2180,16 @@
<attlist name="parameter">
<attdecl>
name CDATA #IMPLIED</attdecl>
name CDATA #IMPLIED
pack CDATA #IMPLIED</attdecl>
<attribute name="name"
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="pack"
type="#IMPLIED"
value="CDATA"
default=""/>
</attlist>
<element name="signature"
@ -2709,11 +2735,16 @@
<attlist name="template-nontype-parameter">
<attdecl>
name CDATA #REQUIRED
pack CDATA #IMPLIED
%boost.common.attrib;</attdecl>
<attribute name="last-revision"
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="pack"
type="#IMPLIED"
value="CDATA"
default=""/>
<attribute name="name"
type="#REQUIRED"
value="CDATA"

View File

@ -288,6 +288,7 @@
<tbody>
<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@ -550,6 +551,7 @@
<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
<row><entry>access</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The access specifier ("public", "private", or "protected") of the inheritance.</entry></row>
<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if this is a pack exapansion.</entry></row>
<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
</tbody>
</tgroup>
@ -1300,6 +1302,7 @@
<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if this is a pack exapansion.</entry></row>
<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
</tbody>
</tgroup>
@ -1806,6 +1809,7 @@
<tbody>
<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
</tbody>
</tgroup>
</informaltable>
@ -2299,6 +2303,7 @@
<tbody>
<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>

View File

@ -167,11 +167,13 @@
<!ELEMENT template-type-parameter (default?, purpose?)>
<!ATTLIST template-type-parameter
name CDATA #REQUIRED
pack CDATA #IMPLIED
%boost.common.attrib;>
<!ELEMENT template-nontype-parameter (type, default?, purpose?)>
<!ATTLIST template-nontype-parameter
name CDATA #REQUIRED
pack CDATA #IMPLIED
%boost.common.attrib;>
<!ELEMENT template-varargs EMPTY>
@ -181,7 +183,9 @@
<!ATTLIST specialization %boost.common.attrib;>
<!ELEMENT template-arg ANY>
<!ATTLIST template-arg %boost.common.attrib;>
<!ATTLIST template-arg
pack CDATA #IMPLIED
%boost.common.attrib;>
<!ELEMENT default ANY>
<!ATTLIST default %boost.common.attrib;>
@ -189,6 +193,7 @@
<!ELEMENT inherit (type, purpose?)>
<!ATTLIST inherit
access CDATA #IMPLIED
pack CDATA #IMPLIED
%boost.common.attrib;>
<!ELEMENT purpose ANY>
@ -397,7 +402,8 @@
<!ELEMENT parameter (paramtype, default?, description?)>
<!ATTLIST parameter
name CDATA #IMPLIED>
name CDATA #IMPLIED
pack CDATA #IMPLIED>
<!ELEMENT programlisting ANY>
<!ATTLIST programlisting

View File

@ -363,6 +363,9 @@
<xsl:if test="$parameters">
<!-- Information for this parameter -->
<xsl:variable name="parameter" select="$parameters[position()=1]"/>
<xsl:variable name="pack">
<xsl:if test="$parameter/@pack=1"><xsl:text>...</xsl:text></xsl:if>
</xsl:variable>
<xsl:variable name="name">
<xsl:if test="$include-names and $parameter/@name != ''">
<xsl:text> </xsl:text><xsl:value-of select="$parameter/@name"/>
@ -393,7 +396,7 @@
</xsl:choose>
</xsl:variable>
<xsl:variable name="text" select="concat($type, $name, $default)"/>
<xsl:variable name="text" select="concat($type, $pack, $name, $default)"/>
<xsl:variable name="end-column"
select="$column + string-length($prefix) + string-length($text)"/>
@ -410,6 +413,7 @@
mode="annotation">
<xsl:with-param name="highlight" select="true()"/>
</xsl:apply-templates>
<xsl:value-of select="$pack"/>
<xsl:value-of select="$name"/>
<xsl:copy-of select="$default"/>
</xsl:when>
@ -446,6 +450,7 @@
mode="annotation">
<xsl:with-param name="highlight" select="true()"/>
</xsl:apply-templates>
<xsl:value-of select="$pack"/>
<xsl:value-of select="$name"/>
<xsl:value-of select="$default"/>
</xsl:when>

View File

@ -194,29 +194,25 @@
<xsl:value-of select="@name"/>
</xsl:template>
<xsl:template name="print-specialization-name">
<xsl:template match="template-arg" mode="print-name">
<xsl:if test="position() &gt; 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:value-of select="text()"/>
<xsl:if test="@pack=1">
<xsl:text>...</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template
match="struct-specialization|class-specialization|union-specialization"
mode="print-name">
<xsl:value-of select="@name"/>
<xsl:text>&lt;</xsl:text>
<xsl:value-of select="specialization/template-arg[position() = 1]/text()"/>
<xsl:for-each select="specialization/template-arg[position() &gt; 1]">
<xsl:text>,</xsl:text>
<xsl:value-of select="text()"/>
</xsl:for-each>
<xsl:apply-templates select="specialization/template-arg" mode="print-name"/>
<xsl:text>&gt;</xsl:text>
</xsl:template>
<xsl:template match="struct-specialization" mode="print-name">
<xsl:call-template name="print-specialization-name"/>
</xsl:template>
<xsl:template match="class-specialization" mode="print-name">
<xsl:call-template name="print-specialization-name"/>
</xsl:template>
<xsl:template match="union-specialization" mode="print-name">
<xsl:call-template name="print-specialization-name"/>
</xsl:template>
<xsl:template name="name-matches-node">
<!-- The name we are looking for -->
<xsl:param name="name"/>

View File

@ -314,6 +314,7 @@
<xsl:text>typename</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$parameter/@pack=1"><xsl:text>...</xsl:text></xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="template.parameter.name">
@ -388,6 +389,7 @@
<xsl:value-of select="$parameter/type/*|$parameter/type/text()"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$parameter/@pack=1"><xsl:text>...</xsl:text></xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="template.parameter.name">
@ -438,6 +440,9 @@
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates mode="highlight"/>
<xsl:if test="@pack=1">
<xsl:text>...</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -533,6 +533,8 @@ Unknown type element "<xsl:value-of select="local-name(.)"/>" in type.display.na
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@pack=1"><xsl:text>...</xsl:text></xsl:if>
<!-- Output a comma if not at the end -->
<xsl:if test="position() &lt; $n">
<xsl:text>,</xsl:text>
@ -626,6 +628,7 @@ Unknown type element "<xsl:value-of select="local-name(.)"/>" in type.display.na
<xsl:apply-templates mode="annotation">
<xsl:with-param name="highlight" select="true()"/>
</xsl:apply-templates>
<xsl:if test="@pack=1"><xsl:text>...</xsl:text></xsl:if>
</xsl:template>
<!-- Find the maximum length of the types in typedefs -->
@ -1058,7 +1061,7 @@ Unknown type element "<xsl:value-of select="local-name(.)"/>" in type.display.na
<xsl:with-param name="allow-synopsis-anchors" select="true()"/>
</xsl:call-template>
<!-- Associated free functions -->
<xsl:apply-templates select="ancestor-or-self::*/free-function-group"
<xsl:apply-templates select="free-function-group"
mode="synopsis">
<xsl:with-param name="indentation" select="$indentation"/>
<xsl:with-param name="class" select="@name"/>