mirror of
https://github.com/boostorg/boostbook.git
synced 2025-05-07 18:04:00 +00:00
Correctly identify constructors/destructors of class template specializations.
[SVN r78602]
This commit is contained in:
parent
8944b68ade
commit
d7dcdd15be
@ -17,7 +17,11 @@ Embedded docbook list:</para><para>
|
||||
Line 1<sbr/>
|
||||
Line 2</para><para><programlisting> void foo() {}
|
||||
</programlisting></para><para>
|
||||
</para></description></struct><enum name="namespace_enum"><enumvalue name="enumerator"/></enum><data-member name="namespace_integer"><type>int</type></data-member><data-member name="namespace_static_integer" specifiers="static"><type>int</type></data-member><data-member name="namespace_const_integer"><type>const int</type></data-member><data-member name="namespace_static_const_integer" specifiers="static"><type>const int</type></data-member><function name="namespace_func"><type>int</type><parameter name="i"><paramtype>int</paramtype><description><para>A function parameter </para></description></parameter><parameter name="j"><paramtype>int</paramtype><description><para>Another </para></description></parameter><description><para>
|
||||
</para></description></struct><struct name="specialization_test"><template>
|
||||
<template-type-parameter name="T"/>
|
||||
</template></struct><struct-specialization name="specialization_test"><template>
|
||||
<template-type-parameter name="T"/>
|
||||
</template><specialization><template-arg>T *</template-arg></specialization><method-group name="public member functions"/><constructor><description><para>A constructor. </para></description></constructor><destructor><description><para>A destructor. </para></description></destructor><copy-assignment><parameter name=""><paramtype>const <classname>specialization_test</classname> &</paramtype></parameter><description><para>An assignment operator. </para></description></copy-assignment></struct-specialization><enum name="namespace_enum"><enumvalue name="enumerator"/></enum><data-member name="namespace_integer"><type>int</type></data-member><data-member name="namespace_static_integer" specifiers="static"><type>int</type></data-member><data-member name="namespace_const_integer"><type>const int</type></data-member><data-member name="namespace_static_const_integer" specifiers="static"><type>const int</type></data-member><function name="namespace_func"><type>int</type><parameter name="i"><paramtype>int</paramtype><description><para>A function parameter </para></description></parameter><parameter name="j"><paramtype>int</paramtype><description><para>Another </para></description></parameter><description><para>
|
||||
|
||||
|
||||
This is a test function. <classname alt="example::example">Link to class</classname> <classname alt="example::example_template">Link to class template</classname> <note><para>This is a note.</para></note>
|
||||
|
@ -134,6 +134,20 @@ namespace example
|
||||
*/
|
||||
template <typename TypeParameter, int NonTypeParameter>
|
||||
void namespace_func_template();
|
||||
|
||||
template<class T>
|
||||
struct specialization_test {
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct specialization_test<T*> {
|
||||
/** A constructor. */
|
||||
specialization_test();
|
||||
/** A destructor. */
|
||||
~specialization_test();
|
||||
/** An assignment operator. */
|
||||
specialization_test& operator=(const specialization_test&);
|
||||
};
|
||||
}
|
||||
|
||||
#define EXAMPLE(m) The macro
|
||||
|
@ -855,13 +855,24 @@
|
||||
<xsl:otherwise>
|
||||
<!-- We are in a class -->
|
||||
<!-- The name of the class we are in -->
|
||||
<xsl:variable name="in-class">
|
||||
<xsl:variable name="in-class-full">
|
||||
<xsl:call-template name="strip-qualifiers">
|
||||
<xsl:with-param name="name"
|
||||
select="string(ancestor::compounddef/compoundname/text())"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name ="in-class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($in-class-full, '<')">
|
||||
<xsl:value-of select="substring-before($in-class-full, '<')"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$in-class-full"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="string(name/text())=$in-class">
|
||||
<xsl:if test="not ($in-section)">
|
||||
|
Loading…
x
Reference in New Issue
Block a user