<?xml version="1.0" encoding="UTF-8"?>
<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" version="5.2" xml:lang="en">
<db:info>
<db:title its:translate="no">Test Class</db:title>
<db:subtitle its:translate="no">TestQDoc::Test</db:subtitle>
<db:productname>TestCPP</db:productname>
<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev>
<db:abstract>
<db:para>A class in a namespace.</db:para>
<db:para>This class was introduced in Qt 2.0.</db:para>
<db:note>
<db:para>All functions in this class are <db:link xlink:href="https://doc.qt.io/qt/17-qdoc-commands-thread.html#reentrant-command">reentrant</db:link> with the following exceptions:</db:para>
<db:para>These functions are not <db:link xlink:href="https://doc.qt.io/qt/17-qdoc-commands-thread.html#reentrant-command">reentrant</db:link>:</db:para>
<db:itemizedlist>
<db:listitem>
<db:para><db:link xlink:href="testqdoc-test.xml#someFunctionDefaultArg">someFunctionDefaultArg(int i, bool b)</db:link></db:para>
</db:listitem>
</db:itemizedlist>
</db:note>
</db:abstract>
</db:info>
<db:variablelist its:translate="no">
<db:varlistentry>
<db:term>Header</db:term>
<db:listitem>
<db:para>Test</db:para>
</db:listitem>
</db:varlistentry>
<db:varlistentry>
<db:term>Since</db:term>
<db:listitem>
<db:para>Qt 2.0</db:para>
</db:listitem>
</db:varlistentry>
<db:varlistentry>
<db:term>CMake</db:term>
<db:listitem>
<db:para>find_package(Qt6 REQUIRED COMPONENTS QDocTest)</db:para>
<db:para>target_link_libraries(mytarget PRIVATE Qt6::QDocTest)</db:para>
</db:listitem>
</db:varlistentry>
<db:varlistentry>
<db:term>qmake</db:term>
<db:listitem>
<db:para>QT += testcpp</db:para>
</db:listitem>
</db:varlistentry>
<db:varlistentry>
<db:term>Inherited By</db:term>
<db:listitem>
<db:para><db:link xlink:href="testqdoc-testderived.xml" xlink:role="class">TestQDoc::TestDerived</db:link></db:para>
</db:listitem>
</db:varlistentry>
<db:varlistentry>
<db:term>Group</db:term>
<db:listitem>
<db:para><db:para>Test is part of <db:simplelist><db:member>testgroup</db:member><db:member><db:link xlink:href="cpptypes.xml">Test C++ Types</db:link></db:member></db:simplelist></db:para>
</db:para>
</db:listitem>
</db:varlistentry>
</db:variablelist>
<db:section xml:id="details">
<db:title>Detailed Description</db:title>
</db:section>
<db:section xml:id="member-type-documentation">
<db:title>Member Type Documentation</db:title>
<db:section xml:id="SomeType-typedef">
<db:title its:translate="no">Test::SomeType</db:title>
<db:para>A typedef.</db:para>
</db:section>
</db:section>
<db:section xml:id="member-function-documentation">
<db:title>Member Function Documentation</db:title>
<db:section xml:id="overload">
<db:title its:translate="no">[protected] void Test::overload()</db:title>
<db:bridgehead renderas="sect2" xml:id="overload-1" its:translate="no">[protected, since Test 1.2] void Test::overload(bool <db:emphasis>b</db:emphasis>)</db:bridgehead>
<db:para>Overloads that share a documentation comment, optionally taking a parameter <db:code its:translate="no" role="parameter">b</db:code>.</db:para>
</db:section>
<db:section xml:id="Test">
<db:title its:translate="no">[noexcept default] Test::Test()</db:title>
<db:para>Default constructor.</db:para>
</db:section>
<db:section xml:id="funcPtr">
<db:title its:translate="no">void (*)(bool) Test::funcPtr(bool <db:emphasis>b</db:emphasis>, const char *<db:emphasis>s</db:emphasis>)</db:title>
<db:para>Returns a pointer to a function that takes a boolean. Uses <db:code its:translate="no" role="parameter">b</db:code> and <db:code its:translate="no" role="parameter">s</db:code>.</db:para>
</db:section>
<db:section xml:id="inlineFunction">
<db:title its:translate="no">void Test::inlineFunction()</db:title>
<db:para>An inline function, documented using the \fn QDoc command.</db:para>
</db:section>
<db:section xml:id="methodWithEmDashInItsDocs">
<db:title its:translate="no">void Test::methodWithEmDashInItsDocs()</db:title>
<db:para>This method has em dashes in its documentation—as you'll find represented by <db:code>---</db:code> in the sources—here and there. The important bit to note is that when passed e.g. to the \c command, the three hyphens are processed as input to the command and not replaced by an em dash.</db:para>
<db:para>-----------------------------------------------------------------------</db:para>
<db:para>People can still add a bunch of dashes, though, without QDoc replacing them all with a series of em dashes.</db:para>
<db:para>—You can also start a new paragraph with an em dash, if you want to.</db:para>
<db:section>
<db:title>See Also</db:title>
<db:para><db:emphasis>See also </db:emphasis>
<db:simplelist type="vert" role="see-also">
<db:member><db:link xlink:href="testqdoc-test.xml#methodWithEnDashInItsDocs">methodWithEnDashInItsDocs</db:link></db:member>
</db:simplelist>
</db:para>
</db:section>
</db:section>
<db:section xml:id="methodWithEnDashInItsDocs">
<db:title its:translate="no">void Test::methodWithEnDashInItsDocs()</db:title>
<db:para>This method has en dashes in its documentation – as you'll find represented by <db:code>--</db:code> in the sources – here and there. The important bit to note is that when passed e.g. to the \c command, the two hyphens are processed as input to the command and not replaced by an en dash. This also applies to code blocks, where otherwise, the decrement operator would get completely borked:</db:para>
<db:programlisting language="cpp" its:translate="no">for (int i = 42; i &amp;gt; 0; --i)
    // Do something cool during countdown.
</db:programlisting>
<db:para>...as it would be silly if this would output –i instead of <db:code>--i</db:code>.</db:para>
<db:para>-----------------------------------------------------------------------</db:para>
<db:para>It still allows people to add a bunch of dashes, though, without replacing them all with a series of en dashes. Of course, they might want to use the \hr command instead, like this:</db:para>
<db:para>– You can also start a new paragraph with an en dash, if you want to.</db:para>
<db:section>
<db:title>See Also</db:title>
<db:para><db:emphasis>See also </db:emphasis>
<db:simplelist type="vert" role="see-also">
<db:member><db:link xlink:href="">methodWithEnDashInItsDocs</db:link></db:member>
</db:simplelist>
</db:para>
</db:section>
</db:section>
<db:section xml:id="someFunction">
<db:title its:translate="no">int Test::someFunction(<db:emphasis>int</db:emphasis>, int <db:emphasis>v</db:emphasis> = 0)</db:title>
<db:para>Function that takes a parameter <db:code its:translate="no" role="parameter">v</db:code>. Also returns the value of <db:code its:translate="no" role="parameter">v</db:code>.</db:para>
</db:section>
<db:section xml:id="someFunctionDefaultArg">
<db:title its:translate="no">void Test::someFunctionDefaultArg(int <db:emphasis>i</db:emphasis>, bool <db:emphasis>b</db:emphasis> = false)</db:title>
<db:para>Function that takes a parameter <db:code its:translate="no" role="parameter">i</db:code> and <db:code its:translate="no" role="parameter">b</db:code>.</db:para>
<db:warning>
<db:para>This function is not <db:link xlink:href="https://doc.qt.io/qt/17-qdoc-commands-thread.html#reentrant-command">reentrant</db:link>.</db:para>
</db:warning></db:section>
<db:section xml:id="virtualFun">
<db:title its:translate="no">[virtual] void Test::virtualFun()</db:title>
<db:para>Function that must be reimplemented.</db:para>
</db:section>
<db:section xml:id="operator-eq">
<db:title its:translate="no">[noexcept default] TestQDoc::Test &amp;Test::operator=(TestQDoc::Test &amp;&amp;<db:emphasis>other</db:emphasis>)</db:title>
<db:para>Move-assigns <db:code its:translate="no" role="parameter">other</db:code>.</db:para>
</db:section>
</db:section>
<db:section xml:id="related-non-members">
<db:title>Related Non-Members</db:title>
<db:section xml:id="operator-eq-eq">
<db:title its:translate="no">bool operator==(const TestQDoc::Test &amp;<db:emphasis>lhs</db:emphasis>, const TestQDoc::Test &amp;<db:emphasis>rhs</db:emphasis>)</db:title>
<db:para>Returns true if <db:code its:translate="no" role="parameter">lhs</db:code> and <db:code its:translate="no" role="parameter">rhs</db:code> are equal.</db:para>
</db:section>
</db:section>
<db:section xml:id="macro-documentation">
<db:title>Macro Documentation</db:title>
<db:section xml:id="QDOCTEST_MACRO2">
<db:title its:translate="no">[since Test 1.1] QDOCTEST_MACRO2(int &amp;<db:emphasis>x</db:emphasis>)</db:title>
<db:para>A macro with argument <db:code its:translate="no" role="parameter">x</db:code>.</db:para>
<db:para>This macro was introduced in Test 1.1.</db:para>
</db:section>
</db:section>
<db:section xml:id="obsolete">
<db:title>Obsolete Members for Test</db:title>
<db:para><db:emphasis role="bold">The following members of class <db:link xlink:href="testqdoc-test.xml">Test</db:link> are deprecated.</db:emphasis> We strongly advise against using them in new code.</db:para>
<db:section xml:id="obsolete-member-function-documentation">
<db:title>Obsolete Member Function Documentation</db:title>
<db:section xml:id="operator-2b-2b">
<db:title its:translate="no">[deprecated] TestQDoc::Test &amp;Test::operator++()</db:title>
<db:bridgehead renderas="sect2" xml:id="operator--" its:translate="no">[deprecated] TestQDoc::Test &amp;Test::operator--()</db:bridgehead>
<db:para>This function is deprecated. We strongly advise against using it in new code.</db:para>
</db:section>
<db:section xml:id="anotherObsoleteMember">
<db:title its:translate="no">[deprecated] void Test::anotherObsoleteMember()</db:title>
<db:para>This function is deprecated. We strongly advise against using it in new code.</db:para>
<db:para>Use <db:link xlink:href="testqdoc-test.xml#obsoleteMember">obsoleteMember</db:link>() instead.</db:para>
</db:section>
<db:section xml:id="deprecatedMember">
<db:title its:translate="no">[deprecated in 6.0] void Test::deprecatedMember()</db:title>
<db:para>This function is deprecated since 6.0. We strongly advise against using it in new code.</db:para>
<db:para>Use <db:link xlink:href="testqdoc-test.xml#someFunction">someFunction</db:link>() instead.</db:para>
</db:section>
<db:section xml:id="obsoleteMember">
<db:title its:translate="no">[deprecated] void Test::obsoleteMember()</db:title>
<db:para>This function is deprecated. We strongly advise against using it in new code.</db:para>
<db:para>Use <db:link xlink:href="testqdoc-test.xml#someFunction">someFunction</db:link>() instead.</db:para>
</db:section>
</db:section>
</db:section>
</db:article>
