Template parameters finished.

[SVN r2533]
This commit is contained in:
Jan Gaspar
2005-03-15 17:24:27 +00:00
parent 1490b26523
commit d649fd7a89
7 changed files with 66 additions and 42 deletions

View File

@@ -111,7 +111,7 @@
<pre>
namespace boost {
template &lt;class T, class Alloc&gt;
template &lt;class <a href="#templateparam_T">T</a>, class <a href="#templateparam_Alloc">Alloc</a>&gt;
class circular_buffer
{
public:
@@ -301,53 +301,46 @@ template
<a name="parameters">Template Parameters</a>
</h3>
<div id="srcdoc_params">
<table border="1">
<table id="template_params" border="1">
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td>
<a name="param_T">
<a name="templateparam_T">
<code>T</code>
</a>
</td>
<td>
The type of the elements stored in the circular buffer. </td>
<td> </td>
</tr>
<tr>
<td>
<a name="param_Alloc">
<a name="templateparam_Alloc">
<code>Alloc</code>
</a>
</td>
<td>
The allocator type used for all internal memory management. </td>
<td>
<code>std::allocator&lt;T&gt; </code>
</td>
</tr>
</table>
</div>
<table id="template_params" border="1">
<tr>
<th>
Parameter</th>
<th>
Description</th>
<th>
Default</th>
</tr>
<tr>
<td><code>T</code></td>
<td>The type of the elements stored in the circular buffer.</td>
<td> </td>
</tr>
<tr>
<td><code>Alloc</code></td>
<td>The allocator type used for all internal memory management.</td>
<td><code>std::allocator&lt;T&gt;</code></td>
</tr>
</table>
<br>
<h3>
<a name="types">Public Types</a>
</h3>
<div id="srcdoc_types">
<table border="1">
<table id="public_types" border="1">
<tr>
<th>Type</th>
<th>Description</th>
</tr>
<tr>
<td>
<a name="classboost_1_1circular__buffer_1w0">

View File

@@ -10,7 +10,13 @@ Author: Jan Gaspar (jano_gaspar[at]yahoo.com)
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes" media-type="text/xml"/>
<xsl:template name="member-types">
<xsl:template name="template-parameters">
<xsl:for-each select="templateparamlist/param">
<xsl:apply-templates select="." mode="synopsis"/>
</xsl:for-each>
</xsl:template>
<xsl:template name="public-types">
<xsl:for-each select="sectiondef[@kind='public-type']/memberdef">
<xsl:sort select="name"/>
<xsl:apply-templates select="." mode="synopsis"/>

View File

@@ -66,7 +66,7 @@
<pre>
namespace boost {
template &lt;class T, class Alloc&gt;
template &lt;class <a href="circular_buffer.html#templateparam_T">T</a>, class <a href="circular_buffer.html#templateparam_Alloc">Alloc</a>&gt;
class circular_buffer_space_optimized
{
public:
@@ -123,8 +123,6 @@ public:
   size_type <a href="circular_buffer.html#classboost_1_1circular__buffer_1a29">max_size</a>() const;
   size_type <a href="#classboost_1_1circular__buffer__space__optimized_1a15">min_capacity</a>() const;
   circular_buffer&lt;T,Alloc&gt;&amp; <a href="circular_buffer.html#classboost_1_1circular__buffer_1a30">operator=</a>(const circular_buffer&lt;T,Alloc&gt;&amp; cb);
   value_type <a href="#classboost_1_1circular__buffer__space__optimized_1a16">operator[]</a>(size_type n) const;
   reference <a href="#classboost_1_1circular__buffer__space__optimized_1a17">operator[]</a>(size_type n);
   value_type <a href="circular_buffer.html#classboost_1_1circular__buffer_1a31">operator[]</a>(size_type index) const;
   reference <a href="circular_buffer.html#classboost_1_1circular__buffer_1a32">operator[]</a>(size_type index);
   void <a href="circular_buffer.html#classboost_1_1circular__buffer_1a33">pop_back</a>();
@@ -146,7 +144,6 @@ public:
   void <a href="circular_buffer.html#classboost_1_1circular__buffer_1a48">set_capacity</a>(size_type new_capacity, bool remove_front = true);
   void <a href="#classboost_1_1circular__buffer__space__optimized_1a30">set_min_capacity</a>(size_type new_min_capacity);
   size_type <a href="circular_buffer.html#classboost_1_1circular__buffer_1a49">size</a>() const;
   void <a href="#classboost_1_1circular__buffer__space__optimized_1a31">swap</a>(circular_buffer_space_optimized&amp; cb);
   void <a href="circular_buffer.html#classboost_1_1circular__buffer_1a50">swap</a>(circular_buffer&amp; cb);
};

View File

@@ -13,7 +13,15 @@ Author: Jan Gaspar (jano_gaspar[at]yahoo.com)
<xsl:variable name="circular_buffer-ref" select="//compound[name='boost::circular_buffer' and @kind='class']/@refid"/>
<xsl:variable name="circular_buffer-file" select="concat($xmldir, '/', $circular_buffer-ref, '.xml')"/>
<xsl:template name="member-types">
<xsl:template name="template-parameters">
<xsl:for-each select="templateparamlist/param">
<xsl:apply-templates select="." mode="synopsis">
<xsl:with-param name="link-prefix" select="'circular_buffer.html'"/>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template name="public-types">
<xsl:variable name="inherited" select="document($circular_buffer-file)/doxygen/compounddef[@id = $circular_buffer-ref and @kind = 'class']/sectiondef[@kind='public-type']/memberdef"/>
<xsl:for-each select="sectiondef[@kind='public-type']/memberdef | $inherited">
<xsl:sort select="name"/>
@@ -32,10 +40,11 @@ Author: Jan Gaspar (jano_gaspar[at]yahoo.com)
<xsl:template name="member-functions">
<xsl:variable name="inherited" select="document($circular_buffer-file)/doxygen/compounddef[@id = $circular_buffer-ref and @kind = 'class']/sectiondef[@kind='public-func']/memberdef[type != '']"/>
<xsl:for-each select="sectiondef[@kind='public-func']/memberdef[type != ''] | $inherited">
<xsl:variable name="current" select="sectiondef[@kind='public-func']/memberdef[type != '']"/>
<xsl:for-each select="$current | $inherited">
<xsl:sort select="name"/>
<xsl:choose>
<xsl:when test="count($inherited[name=current()/name and argsstring=current()/argsstring]) = 0">
<xsl:when test="count($inherited[name=current()/name]) = 0 and string-length(briefdescription) &gt; 0">
<xsl:apply-templates select="." mode="synopsis"/>
</xsl:when>
<xsl:when test="../../compoundname != 'boost::circular_buffer_space_optimized'">

View File

@@ -9,6 +9,7 @@
<xsl:param name="container"/>
<xsl:param name="xmldir"/>
<xsl:variable name="default-keyword">Default: </xsl:variable>
<xsl:variable name="doxygen-version">1.4.1</xsl:variable>
<xsl:template match="/">
@@ -85,11 +86,11 @@
<pre>
namespace boost {
template &lt;<xsl:for-each select="templateparamlist/param"><xsl:value-of select="type"/>&nbsp;<xsl:value-of select="declname"/><xsl:value-of select="substring(', ', 1 div (count(following-sibling::param) != 0))"/></xsl:for-each>&gt;
template &lt;<xsl:call-template name="template-parameters"/>&gt;
class <xsl:value-of select="$container"/>
{
public:
<xsl:call-template name="member-types"/><xsl:text disable-output-escaping="yes">
<xsl:call-template name="public-types"/><xsl:text disable-output-escaping="yes">
</xsl:text>
<xsl:apply-templates select="sectiondef[@kind='public-func']/memberdef[type = '']" mode="synopsis">
<xsl:sort select="name"/>
@@ -106,6 +107,11 @@ public:
</div>
</xsl:template>
<xsl:template match="param" mode="synopsis">
<xsl:param name="link-prefix" select="''"/>
<xsl:value-of select="type"/>&nbsp;<a href="{$link-prefix}#templateparam_{declname}"><xsl:value-of select="declname"/></a><xsl:value-of select="substring(', ', 1 div (count(following-sibling::param) != 0))"/>
</xsl:template>
<xsl:template match="memberdef[@kind='typedef']" mode="synopsis">
<xsl:param name="link-prefix" select="''"/>
<xsl:if test="normalize-space(briefdescription) != ''">&nbsp;&nbsp;&nbsp;typedef&nbsp;<xsl:value-of select="substring('typename ', 1 div (contains(type, '::') and not(contains(type, '&gt;'))))"/>
@@ -165,12 +171,14 @@ public:
<xsl:template match="compounddef[@kind = 'class']" mode="description">
<div id="srcdoc_params">
<table border="1">
<table id="template_params" border="1">
<tr><th>Parameter</th><th>Description</th><th>Default</th></tr>
<xsl:apply-templates select="detaileddescription//parameterlist[@kind='param']/parameteritem" mode="description"/>
</table>
</div>
<div id="srcdoc_types">
<table border="1">
<table id="public_types" border="1">
<tr><th>Type</th><th>Description</th></tr>
<xsl:apply-templates select="sectiondef[@kind='public-type']/memberdef" mode="description">
<xsl:sort select="name"/>
</xsl:apply-templates>
@@ -191,14 +199,23 @@ public:
</xsl:template>
<xsl:template match="parameteritem" mode="description">
<tr><td><a name="param_{parameternamelist/parametername}"><code><xsl:value-of select="parameternamelist/parametername"/></code></a></td><td>
<xsl:value-of select="parameterdescription"/></td></tr>
<tr><td><a name="templateparam_{parameternamelist/parametername}"><code><xsl:value-of select="parameternamelist/parametername"/></code></a></td>
<xsl:choose>
<xsl:when test="contains(parameterdescription, $default-keyword)">
<td><xsl:value-of select="substring-before(parameterdescription, $default-keyword)"/></td>
<td><code><xsl:value-of select="substring-after(parameterdescription, $default-keyword)"/></code></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="parameterdescription"/></td>
<td>&nbsp;</td>
</xsl:otherwise>
</xsl:choose></tr>
</xsl:template>
<xsl:template match="memberdef[@kind='typedef']" mode="description">
<xsl:if test="normalize-space(briefdescription) != ''"><tr><td>
<a name="{@id}"><code><xsl:value-of select="name"/></code></a></td><td>
<xsl:value-of select="briefdescription"/></td></tr>
<xsl:if test="normalize-space(briefdescription) != ''">
<tr><td><a name="{@id}"><code><xsl:value-of select="name"/></code></a></td>
<td><xsl:value-of select="briefdescription"/></td></tr>
</xsl:if>
</xsl:template>