summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/commentscan.l2
-rw-r--r--src/htmldocvisitor.cpp103
-rwxr-xr-x[-rw-r--r--]testing/074/namespacens.xml162
-rwxr-xr-x[-rw-r--r--]testing/074/struct_foo.xml577
-rw-r--r--testing/074_ref.cpp3
-rwxr-xr-xtesting/runtests.py9
6 files changed, 425 insertions, 431 deletions
diff --git a/src/commentscan.l b/src/commentscan.l
index 90e7ac3..235cd7c 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -1121,6 +1121,8 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
// the {B}* in the front was added for bug620924
QCString fullMatch = QCString(yytext);
int idx = fullMatch.find('{');
+ /* handle `\f{` and `@f{` as special cases */
+ if ((idx > 1) && (yytext[idx-1] == 'f') && (yytext[idx-2] == '\\' || yytext[idx-2] =='@')) REJECT;
int idxEnd = fullMatch.find("}",idx+1);
QCString cmdName;
QCStringList optList;
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index f89f79e..8c78f85 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -126,7 +126,6 @@ static bool mustBeOutsideParagraph(DocNode *n)
case DocNode::Kind_Internal:
/* <div> */
case DocNode::Kind_Include:
- case DocNode::Kind_Image:
case DocNode::Kind_SecRefList:
/* <hr> */
case DocNode::Kind_HorRuler:
@@ -152,6 +151,8 @@ static bool mustBeOutsideParagraph(DocNode *n)
((DocStyleChange*)n)->style()==DocStyleChange::Center;
case DocNode::Kind_Formula:
return !((DocFormula*)n)->isInline();
+ case DocNode::Kind_Image:
+ return !((DocImage*)n)->isInlineImage();
default:
break;
}
@@ -210,29 +211,31 @@ static bool isInvisibleNode(DocNode *node)
;
}
-static QString htmlAttribsToString(const HtmlAttribList &attribs, bool img_tag = FALSE)
+static QCString htmlAttribsToString(const HtmlAttribList &attribs, QCString *pAltValue = 0)
{
- QString result;
+ QCString result;
HtmlAttribListIterator li(attribs);
HtmlAttrib *att;
- bool alt_set = FALSE;
-
for (li.toFirst();(att=li.current());++li)
{
if (!att->value.isEmpty()) // ignore attribute without values as they
// are not XHTML compliant, with the exception
// of the alt attribute with the img tag
{
- result+=" ";
- result+=att->name;
- result+="=\""+convertToXML(att->value)+"\"";
- if (att->name == "alt") alt_set = TRUE;
+ if (att->name=="alt" && pAltValue) // optionally return the value of alt separately
+ // need to convert <img> to <object> for SVG images,
+ // which do not support the alt attribute
+ {
+ *pAltValue = att->value;
+ }
+ else
+ {
+ result+=" ";
+ result+=att->name;
+ result+="=\""+convertToXML(att->value)+"\"";
+ }
}
}
- if (!alt_set && img_tag)
- {
- result+=" alt=\"\"";
- }
return result;
}
@@ -1205,6 +1208,10 @@ void HtmlDocVisitor::visitPre(DocPara *p)
void HtmlDocVisitor::visitPost(DocPara *p)
{
+
+ //printf("DocPara::visitPost: parent of kind %d ",
+ // p->parent() ? p->parent()->kind() : -1);
+
bool needsTag = FALSE;
if (p->parent())
{
@@ -1635,62 +1642,40 @@ void HtmlDocVisitor::visitPre(DocImage *img)
sizeAttribs+=" height=\""+img->height()+"\"";
}
// 16 cases: url.isEmpty() | typeSVG | inlineImage | img->hasCaption()
+ QCString alt;
+ QCString attrs = htmlAttribsToString(img->attribs(),&alt);
+ QCString src;
if (url.isEmpty())
{
- if (typeSVG)
+ src = img->relPath()+img->name();
+ }
+ else
+ {
+ src = correctURL(url,img->relPath());
+ }
+ if (typeSVG)
+ {
+ m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << src
+ << "\"" << sizeAttribs << attrs;
+ if (inlineImage)
{
- m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << img->relPath() << img->name()
- << "\"" << sizeAttribs << htmlAttribsToString(img->attribs());
- if (inlineImage)
- {
- // skip closing tag
- }
- else
- {
- m_t << "></object>" << endl;
- }
+ // skip closing tag
}
else
{
- m_t << "<img src=\"" << img->relPath() << img->name() << "\" alt=\""
- << baseName << "\"" << sizeAttribs << htmlAttribsToString(img->attribs());
- if (inlineImage)
- {
- m_t << " class=\"inline\"";
- }
- else
- {
- m_t << "/>\n";
- }
+ m_t << ">" << alt << "</object>" << endl;
}
}
- else // link to URL
+ else
{
- if (typeSVG)
+ m_t << "<img src=\"" << src << "\" alt=\"" << alt << "\"" << sizeAttribs << attrs;
+ if (inlineImage)
{
- m_t << "<object type=\"image/svg+xml\" style=\"pointer-events: none;\" data=\"" << correctURL(url,img->relPath())
- << "\"" << sizeAttribs << htmlAttribsToString(img->attribs());
- if (inlineImage)
- {
- // skip closing >
- }
- else
- {
- m_t << "></object>" << endl;
- }
+ m_t << " class=\"inline\"";
}
else
{
- m_t << "<img src=\"" << correctURL(url,img->relPath()) << "\""
- << sizeAttribs << htmlAttribsToString(img->attribs(), TRUE);
- if (inlineImage)
- {
- m_t << " class=\"inline\""; // skip closing >
- }
- else
- {
- m_t << "/>\n";
- }
+ m_t << "/>\n";
}
}
if (img->hasCaption())
@@ -1709,7 +1694,7 @@ void HtmlDocVisitor::visitPre(DocImage *img)
{
if (typeSVG)
{
- m_t << "></object>";
+ m_t << ">" << alt << "</object>";
}
else
{
@@ -1736,7 +1721,9 @@ void HtmlDocVisitor::visitPost(DocImage *img)
{
if (img->isSVG())
{
- m_t << "\"></object>";
+ QCString alt;
+ QCString attrs = htmlAttribsToString(img->attribs(),&alt);
+ m_t << "\">" << alt << "</object>";
}
else
{
diff --git a/testing/074/namespacens.xml b/testing/074/namespacens.xml
index 495e550..4eccf88 100644..100755
--- a/testing/074/namespacens.xml
+++ b/testing/074/namespacens.xml
@@ -1,81 +1,81 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
- <compounddef id="namespacens" kind="namespace" language="C++">
- <compoundname>ns</compoundname>
- <sectiondef kind="func">
- <memberdef kind="function" id="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>int</type>
- <definition>int ns::operator""_op</definition>
- <argsstring>(unsigned long long)</argsstring>
- <name>operator""_op</name>
- <param>
- <type>unsigned long long</type>
- </param>
- <briefdescription>
- <para>An operator. </para>
- </briefdescription>
- <detaileddescription>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="66" column="1"/>
- </memberdef>
- <memberdef kind="function" id="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>int</type>
- <definition>int ns::operator""_oq</definition>
- <argsstring>(unsigned long long)</argsstring>
- <name>operator""_oq</name>
- <param>
- <type>unsigned long long</type>
- </param>
- <briefdescription>
- <para>Another operator. </para>
- </briefdescription>
- <detaileddescription>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="69" column="1"/>
- </memberdef>
- <memberdef kind="function" id="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>void</type>
- <definition>void ns::foo</definition>
- <argsstring>(std::initializer_list&lt; int * &gt;)</argsstring>
- <name>foo</name>
- <param>
- <type>std::initializer_list&lt; int * &gt;</type>
- </param>
- <briefdescription>
- <para>Function. </para>
- </briefdescription>
- <detaileddescription>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="72" column="1"/>
- </memberdef>
- </sectiondef>
- <briefdescription>
-<para>A namespace. </para>
- </briefdescription>
- <detaileddescription>
- <para>
- <itemizedlist>
- <listitem>
- <para>Link to an UDL w/o spaces: <ref refid="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" kindref="member">operator""_op</ref></para>
- </listitem>
- <listitem>
- <para>Link to an UDL with spaces: <ref refid="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" kindref="member">operator""_oq</ref></para>
- </listitem>
- <listitem>
- <para>Link to a function with spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list&lt; int* &gt;)</ref></para>
- </listitem>
- <listitem>
- <para>Link to a function w/o spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list&lt;int*&gt;)</ref> </para>
- </listitem>
- </itemizedlist>
- </para>
- </detaileddescription>
- <location file="074_ref.cpp" line="63" column="1"/>
- </compounddef>
-</doxygen>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="namespacens" kind="namespace" language="C++">
+ <compoundname>ns</compoundname>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int ns::operator""_op</definition>
+ <argsstring>(unsigned long long)</argsstring>
+ <name>operator""_op</name>
+ <param>
+ <type>unsigned long long</type>
+ </param>
+ <briefdescription>
+ <para>An operator. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="67" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int ns::operator""_oq</definition>
+ <argsstring>(unsigned long long)</argsstring>
+ <name>operator""_oq</name>
+ <param>
+ <type>unsigned long long</type>
+ </param>
+ <briefdescription>
+ <para>Another operator. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="70" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>void</type>
+ <definition>void ns::foo</definition>
+ <argsstring>(std::initializer_list&lt; int * &gt;)</argsstring>
+ <name>foo</name>
+ <param>
+ <type>std::initializer_list&lt; int * &gt;</type>
+ </param>
+ <briefdescription>
+ <para>Function. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="73" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ <para>A namespace. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>Link to an UDL w/o spaces: <ref refid="namespacens_1afd2e8a8437eff630f52a452ea6dc6e82" kindref="member">operator""_op</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to an UDL with spaces: <ref refid="namespacens_1a47f70e51e66b81b8383a4e2da66f1e09" kindref="member">operator""_oq</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to a function with spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list&lt; int* &gt;)</ref></para>
+ </listitem>
+ <listitem>
+ <para>Link to a function w/o spaces: <ref refid="namespacens_1aaa9eb8a7b40d4ed0edbe5e163b4e6e8d" kindref="member">foo(std::initializer_list&lt;int*&gt;)</ref> </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </detaileddescription>
+ <location file="074_ref.cpp" line="64" column="1"/>
+ </compounddef>
+</doxygen>
diff --git a/testing/074/struct_foo.xml b/testing/074/struct_foo.xml
index c49fbaa..7096238 100644..100755
--- a/testing/074/struct_foo.xml
+++ b/testing/074/struct_foo.xml
@@ -1,287 +1,290 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
- <compounddef id="struct_foo" kind="struct" language="C++" prot="public">
- <compoundname>Foo</compoundname>
- <sectiondef kind="public-func">
- <memberdef kind="function" id="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type/>
- <definition>Foo::Foo</definition>
- <argsstring>()</argsstring>
- <name>Foo</name>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>Constructor </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="20" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type><ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <definition>Foo&amp; Foo::operator&lt;&lt;</definition>
- <argsstring>(int i)</argsstring>
- <name>operator&lt;&lt;</name>
- <param>
- <type>int</type>
- <declname>i</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>overloaded less than operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="31" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
- <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <definition>const Foo&amp; Foo::operator&lt;&lt;</definition>
- <argsstring>(int i) const</argsstring>
- <name>operator&lt;&lt;</name>
- <param>
- <type>int</type>
- <declname>i</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>overloaded const less than operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="34" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>int</type>
- <definition>int Foo::operator()</definition>
- <argsstring>(int i)</argsstring>
- <name>operator()</name>
- <param>
- <type>int</type>
- <declname>i</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>overloaded call operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="37" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
- <type>int</type>
- <definition>int Foo::operator()</definition>
- <argsstring>(int i) const</argsstring>
- <name>operator()</name>
- <param>
- <type>int</type>
- <declname>i</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>overloaded call operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="40" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type><ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <definition>Foo&amp; Foo::operator&amp;=</definition>
- <argsstring>(const Foo &amp;rhs)</argsstring>
- <name>operator&amp;=</name>
- <param>
- <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <declname>rhs</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>and equal operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="43" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type><ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <definition>Foo&amp; Foo::operator&amp;=</definition>
- <argsstring>(const Foo &amp;rhs)</argsstring>
- <name>operator&amp;=</name>
- <param>
- <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
- <declname>rhs</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>and equal operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="46" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>int *</type>
- <definition>int* Foo::operator-&gt;*</definition>
- <argsstring>(int *p)</argsstring>
- <name>operator-&gt;*</name>
- <param>
- <type>int *</type>
- <declname>p</declname>
- </param>
- <briefdescription>
- </briefdescription>
- <detaileddescription>
- <para>Member pointer operator </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="49" column="1"/>
- </memberdef>
- <memberdef kind="function" id="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
- <type>
- <ref refid="struct_foo" kindref="compound">Foo</ref>
- </type>
- <definition>Foo Foo::fun</definition>
- <argsstring>() const</argsstring>
- <name>fun</name>
- <briefdescription>
- <para>Fun with itself. </para>
- </briefdescription>
- <detaileddescription>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="52" column="1"/>
- </memberdef>
- </sectiondef>
- <sectiondef kind="public-static-func">
- <memberdef kind="function" id="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
- <type>
- <ref refid="struct_foo" kindref="compound">Foo</ref>
- </type>
- <definition>static Foo Foo::fun</definition>
- <argsstring>(Foo a, Foo b)</argsstring>
- <name>fun</name>
- <param>
- <type>
- <ref refid="struct_foo" kindref="compound">Foo</ref>
- </type>
- <declname>a</declname>
- </param>
- <param>
- <type>
- <ref refid="struct_foo" kindref="compound">Foo</ref>
- </type>
- <declname>b</declname>
- </param>
- <briefdescription>
- <para>Fun of two. </para>
- </briefdescription>
- <detaileddescription>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
- </para>
- </listitem>
- <listitem>
- <para>
- <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
- </para>
- </listitem>
- <listitem>
- <para>
- <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">title</ref>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </detaileddescription>
- <inbodydescription>
- </inbodydescription>
- <location file="074_ref.cpp" line="28" column="1"/>
- </memberdef>
- </sectiondef>
- <briefdescription>
- <para><ref refid="struct_foo" kindref="compound">Foo</ref> class. </para>
- </briefdescription>
- <detaileddescription>
- <para>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" kindref="member">Foo::Foo()</ref> constructor for details. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo" kindref="compound">Foo</ref> constant. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1a279debd94d894223fa8468933e2d6188" kindref="member">less than operator</ref>. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" kindref="member">const less than operator</ref>. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" kindref="member">call operator</ref>. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" kindref="member">const call operator</ref>. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" kindref="member">and equal operator</ref>. </para>
- </simplesect>
- <simplesect kind="see">
- <para><ref refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" kindref="member">member pointer operator</ref>. </para>
- </simplesect>
- </para>
- </detaileddescription>
- <location file="074_ref.cpp" line="18" column="1" bodyfile="074_ref.cpp" bodystart="18" bodyend="53"/>
- <listofallmembers>
- <member refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>Foo</name>
- </member>
- <member refid="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>fun</name>
- </member>
- <member refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>fun</name>
- </member>
- <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator&amp;=</name>
- </member>
- <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator&amp;=</name>
- </member>
- <member refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator()</name>
- </member>
- <member refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator()</name>
- </member>
- <member refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator-&gt;*</name>
- </member>
- <member refid="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator&lt;&lt;</name>
- </member>
- <member refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" virt="non-virtual">
- <scope>Foo</scope>
- <name>operator&lt;&lt;</name>
- </member>
- </listofallmembers>
- </compounddef>
-</doxygen>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="struct_foo" kind="struct" language="C++" prot="public">
+ <compoundname>Foo</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>Foo::Foo</definition>
+ <argsstring>()</argsstring>
+ <name>Foo</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>Constructor </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="21" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type><ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <definition>Foo&amp; Foo::operator&lt;&lt;</definition>
+ <argsstring>(int i)</argsstring>
+ <name>operator&lt;&lt;</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded less than operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="32" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <definition>const Foo&amp; Foo::operator&lt;&lt;</definition>
+ <argsstring>(int i) const</argsstring>
+ <name>operator&lt;&lt;</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded const less than operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="35" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int Foo::operator()</definition>
+ <argsstring>(int i)</argsstring>
+ <name>operator()</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded call operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="38" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>int</type>
+ <definition>int Foo::operator()</definition>
+ <argsstring>(int i) const</argsstring>
+ <name>operator()</name>
+ <param>
+ <type>int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>overloaded call operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="41" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type><ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <definition>Foo&amp; Foo::operator&amp;=</definition>
+ <argsstring>(const Foo &amp;rhs)</argsstring>
+ <name>operator&amp;=</name>
+ <param>
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <declname>rhs</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>and equal operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="44" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <definition>const Foo&amp; Foo::operator&amp;=</definition>
+ <argsstring>(const Foo &amp;rhs) const</argsstring>
+ <name>operator&amp;=</name>
+ <param>
+ <type>const <ref refid="struct_foo" kindref="compound">Foo</ref> &amp;</type>
+ <declname>rhs</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>and equal operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="47" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>int *</type>
+ <definition>int* Foo::operator-&gt;*</definition>
+ <argsstring>(int *p)</argsstring>
+ <name>operator-&gt;*</name>
+ <param>
+ <type>int *</type>
+ <declname>p</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ <para>Member pointer operator </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="50" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <definition>Foo Foo::fun</definition>
+ <argsstring>() const</argsstring>
+ <name>fun</name>
+ <briefdescription>
+ <para>Fun with itself. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="53" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <definition>static Foo Foo::fun</definition>
+ <argsstring>(Foo a, Foo b)</argsstring>
+ <name>fun</name>
+ <param>
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <declname>a</declname>
+ </param>
+ <param>
+ <type>
+ <ref refid="struct_foo" kindref="compound">Foo</ref>
+ </type>
+ <declname>b</declname>
+ </param>
+ <briefdescription>
+ <para>Fun of two. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">fun() const</ref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ref refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" kindref="member">title</ref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="074_ref.cpp" line="29" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ <para><ref refid="struct_foo" kindref="compound">Foo</ref> class. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" kindref="member">Foo::Foo()</ref> constructor for details. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo" kindref="compound">Foo</ref> constant. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a279debd94d894223fa8468933e2d6188" kindref="member">less than operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" kindref="member">const less than operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" kindref="member">call operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" kindref="member">const call operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" kindref="member">and equal operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" kindref="member">const and equal operator</ref>. </para>
+ </simplesect>
+ <simplesect kind="see">
+ <para><ref refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" kindref="member">member pointer operator</ref>. </para>
+ </simplesect>
+ </para>
+ </detaileddescription>
+ <location file="074_ref.cpp" line="19" column="1" bodyfile="074_ref.cpp" bodystart="19" bodyend="54"/>
+ <listofallmembers>
+ <member refid="struct_foo_1a5c036d1b3561a0e1beffe8c6799a4276" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>Foo</name>
+ </member>
+ <member refid="struct_foo_1abdf64a71706807b0f946265902c530ee" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>fun</name>
+ </member>
+ <member refid="struct_foo_1a978acd73e910ce56cc169ebec8736669" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>fun</name>
+ </member>
+ <member refid="struct_foo_1aa20bd44b1bb87a652ac65170ddfa1a5a" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&amp;=</name>
+ </member>
+ <member refid="struct_foo_1ab1a2a53ad5b2a0f97422630330c151fe" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&amp;=</name>
+ </member>
+ <member refid="struct_foo_1a3a41dcf8c53f777d50676ea28400a640" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator()</name>
+ </member>
+ <member refid="struct_foo_1ae3c9c1f33cdb8b932c6eb104660a262b" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator()</name>
+ </member>
+ <member refid="struct_foo_1a0514e1f5b30cbf77e1c39d7aba308656" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator-&gt;*</name>
+ </member>
+ <member refid="struct_foo_1a279debd94d894223fa8468933e2d6188" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&lt;&lt;</name>
+ </member>
+ <member refid="struct_foo_1a48bcc3de9b2f1ad09a3518a0c9f0da61" prot="public" virt="non-virtual">
+ <scope>Foo</scope>
+ <name>operator&lt;&lt;</name>
+ </member>
+ </listofallmembers>
+ </compounddef>
+</doxygen>
diff --git a/testing/074_ref.cpp b/testing/074_ref.cpp
index d283907..cc9cf4a 100644
--- a/testing/074_ref.cpp
+++ b/testing/074_ref.cpp
@@ -13,6 +13,7 @@
* @see @ref operator()(int) "call operator".
* @see @ref operator()(int) const "const call operator".
* @see @ref operator&=(const Foo&) "and equal operator".
+ * @see @ref operator&=(const Foo&) const "const and equal operator".
* @see @ref operator->*(int *) "member pointer operator".
*/
struct Foo {
@@ -43,7 +44,7 @@ struct Foo {
Foo& operator&=(const Foo& rhs);
/** and equal operator */
- Foo& operator&=(const Foo& rhs);
+ const Foo& operator&=(const Foo& rhs) const;
/** Member pointer operator */
int* operator->*(int *p);
diff --git a/testing/runtests.py b/testing/runtests.py
index 452c36e..358fb91 100755
--- a/testing/runtests.py
+++ b/testing/runtests.py
@@ -331,13 +331,14 @@ class TestManager:
tester = Tester(self.args,test)
tester.run(self)
res=self.result()
- if self.args.xhtml and not res and not self.args.keep:
+ if self.args.xhtml and self.args.inputdir!='.' and not res and not self.args.keep:
shutil.rmtree("dtd",ignore_errors=True)
return 0 if self.args.updateref else res
def prepare_dtd(self):
- shutil.rmtree("dtd",ignore_errors=True)
- shutil.copytree(self.args.inputdir+"/dtd", "dtd")
+ if self.args.inputdir!='.':
+ shutil.rmtree("dtd",ignore_errors=True)
+ shutil.copytree(self.args.inputdir+"/dtd", "dtd")
def main():
# argument handling
@@ -411,7 +412,7 @@ def main():
tests.append(glob.glob('0%s_*'%id))
tests.append(glob.glob('00%s_*'%id))
if (not args.ids and not args.start_id): # find all tests
- tests = glob.glob('[0-9][0-9][0-9]_*')
+ tests = sorted(glob.glob('[0-9][0-9][0-9]_*'))
else:
tests = list(itertools.chain.from_iterable(tests))
os.chdir(starting_directory)