<?xml version="1.0" encoding="UTF-8"?>
<WebXML>
    <document>
        <namespace name="TestQDoc" href="testqdoc.html" status="active" access="public" location="testcpp.h" since="2.0" documented="true" module="TestCPP" brief="A namespace">
            <contents name="usage" title="Usage" level="1"/>
            <description>
                <brief>A namespace.</brief>
                <section id="usage">
                    <heading level="1">Usage</heading>
                    <para>This namespace is for testing QDoc output.</para>
                </section>
            </description>
            <function name="QDOCTEST_CONDITIONAL_MACRO" href="testqdoc.html#QDOCTEST_CONDITIONAL_MACRO" status="active" access="public" documented="true" related="0" since="Test 1.3" meta="macrowithoutparams" signature="QDOCTEST_CONDITIONAL_MACRO">
                <description>
                    <para>Test conditional macro documented separately from its definition. This replicates the Qt pattern where macros are defined in headers but documented in cpp files.</para>
                </description>
            </function>
            <function name="QDOCTEST_MACRO" href="testqdoc.html#QDOCTEST_MACRO" status="active" access="public" location="testcpp.h" documented="true" related="1" since="Test 0.9" meta="macrowithoutparams" signature="QDOCTEST_MACRO">
                <description/>
            </function>
            <function name="QDOCTEST_SHARED_MACRO_A" href="testqdoc.html#QDOCTEST_SHARED_MACRO_A" status="active" access="public" documented="true" related="2" since="Test 1.4" meta="macrowithparams" signature="QDOCTEST_SHARED_MACRO_A(x)">
                <parameter type="" name="x" default=""/>
                <description/>
            </function>
            <function name="QDOCTEST_SHARED_MACRO_B" href="testqdoc.html#QDOCTEST_SHARED_MACRO_B" status="active" access="public" documented="true" related="3" since="Test 1.4" meta="macrowithparams" signature="QDOCTEST_SHARED_MACRO_B(x)">
                <parameter type="" name="x" default=""/>
                <description/>
            </function>
            <class threadsafety="reentrant" name="Test" fullname="TestQDoc::Test" href="testqdoc-test.html" status="active" access="public" location="testcpp.h" since="1.1" documented="true" groups="cpptypes,testgroup" module="TestCPP" brief="A class in a namespace">
                <description>
                    <brief>A class in a namespace.</brief>
                </description>
                <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" location="testcpp.h" documented="true" related="4" since="Test 1.1" meta="macrowithparams" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &amp;x)" groups="testgroup">
                    <parameter type="int &amp;" name="x" default=""/>
                    <description>
                        <brief>A macro with argument <argument>x</argument>.</brief>
                    </description>
                </function>
                <function name="Test" fullname="TestQDoc::Test::Test" href="testqdoc-test.html#Test" status="active" access="public" location="testcpp.h" documented="true" meta="constructor" signature="Test()">
                    <description>
                        <para>The constructor is deleted.</para>
                    </description>
                </function>
                <function name="anotherObsoleteMember" fullname="TestQDoc::Test::anotherObsoleteMember" href="testqdoc-test-obsolete.html#anotherObsoleteMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void anotherObsoleteMember()">
                    <description>
                        <para>Use <link raw="obsoleteMember()" href="testqdoc-test.html#obsoleteMember" type="function">obsoleteMember()</link> instead.</para>
                    </description>
                </function>
                <function name="deprecatedMember" fullname="TestQDoc::Test::deprecatedMember" href="testqdoc-test-obsolete.html#deprecatedMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void deprecatedMember()">
                    <description>
                        <para>Use <link raw="someFunction()" href="testqdoc-test.html#someFunction" type="function">someFunction()</link> instead.</para>
                    </description>
                </function>
                <function name="funcPtr" fullname="TestQDoc::Test::funcPtr" href="testqdoc-test.html#funcPtr" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="void (*)(bool)" signature="void (*)(bool) funcPtr(bool b, const char *s)">
                    <parameter type="bool" name="b" default=""/>
                    <parameter type="const char *" name="s" default=""/>
                    <description>
                        <para>Returns a pointer to a function that takes a boolean. Uses <argument>b</argument> and <argument>s</argument>.</para>
                    </description>
                </function>
                <function name="funcTemplate" fullname="TestQDoc::Test::funcTemplate" href="testqdoc-test.html#funcTemplate" status="active" access="protected" location="testcpp.h" documented="true" meta="plain" type="void" brief="Function template with two parameters, a and b" signature="void funcTemplate(T1 a, T2 b)">
                    <parameter type="T1" name="a" default=""/>
                    <parameter type="T2" name="b" default=""/>
                    <description>
                        <brief>Function template with two parameters, <argument>a</argument> and <argument>b</argument>.</brief>
                    </description>
                </function>
                <function name="inlineFunction" fullname="TestQDoc::Test::inlineFunction" href="testqdoc-test.html#inlineFunction" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="void" brief="An inline function, documented using the \fn QDoc command" signature="void inlineFunction()">
                    <description>
                        <brief>An inline function, documented using the <teletype>\fn</teletype> QDoc command.</brief>
                    </description>
                </function>
                <function name="methodWithEmDashInItsDocs" fullname="TestQDoc::Test::methodWithEmDashInItsDocs" href="testqdoc-test.html#methodWithEmDashInItsDocs" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void methodWithEmDashInItsDocs()">
                    <description>
                        <para>This method has em dashes in its documentation—as you'll find represented by <teletype type="highlighted">---</teletype> in the sources—here and there. The important bit to note is that when passed e.g. to the <teletype>\c</teletype> command, the three hyphens are processed as input to the command and not replaced by an em dash.</para>
                        <para>-----------------------------------------------------------------------</para>
                        <para>People can still add a bunch of dashes, though, without QDoc replacing them all with a series of em dashes.</para>
                        <para>—You can also start a new paragraph with an em dash, if you want to.</para>
                        <see-also>
                            <link raw="methodWithEnDashInItsDocs" href="testqdoc-test.html#methodWithEnDashInItsDocs" type="function">methodWithEnDashInItsDocs</link>
                        </see-also>
                    </description>
                </function>
                <function name="methodWithEnDashInItsDocs" fullname="TestQDoc::Test::methodWithEnDashInItsDocs" href="testqdoc-test.html#methodWithEnDashInItsDocs" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void methodWithEnDashInItsDocs()">
                    <description>
                        <para>This method has en dashes in its documentation – as you'll find represented by <teletype type="highlighted">--</teletype> in the sources – here and there. The important bit to note is that when passed e.g. to the <teletype>\c</teletype> 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:</para>
                        <code>for (int i = 42; i &gt; 0; --i)
    // Do something cool during countdown.</code>
                        <para>...as it would be silly if this would output –i instead of <teletype type="highlighted">--i</teletype>.</para>
                        <para>-----------------------------------------------------------------------</para>
                        <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 <teletype>\hr</teletype> command instead, like this:</para>
                        <para>– You can also start a new paragraph with an en dash, if you want to.</para>
                        <see-also>methodWithEnDashInItsDocs</see-also>
                    </description>
                </function>
                <function name="obsoleteMember" fullname="TestQDoc::Test::obsoleteMember" href="testqdoc-test-obsolete.html#obsoleteMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="void" signature="void obsoleteMember()">
                    <description>
                        <para>Use <link raw="someFunction()" href="testqdoc-test.html#someFunction" type="function">someFunction()</link> instead.</para>
                    </description>
                </function>
                <function name="operator bool" fullname="TestQDoc::Test::operator bool" href="testqdoc-test.html#operator-bool" status="active" access="public" location="testcpp.h" documented="true" meta="plain" const="true" explicit="true" signature="operator bool() const">
                    <description>
                        <para>Conversion operator.</para>
                    </description>
                </function>
                <function name="operator++" fullname="TestQDoc::Test::operator++" href="testqdoc-test-obsolete.html#operator-2b-2b" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator++()">
                    <description/>
                </function>
                <function name="operator--" fullname="TestQDoc::Test::operator--" href="testqdoc-test-obsolete.html#operator--" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator--()">
                    <description/>
                </function>
                <function name="operator=" fullname="TestQDoc::Test::operator=" href="testqdoc-test.html#operator-eq" status="active" access="public" location="testcpp.h" documented="true" meta="move-assign" type="TestQDoc::Test &amp;" signature="TestQDoc::Test &amp; operator=(TestQDoc::Test &amp;&amp;other)" groups="testgroup">
                    <parameter type="TestQDoc::Test &amp;&amp;" name="other" default=""/>
                    <description>
                        <para>The move assignment operator is deleted. <argument>other</argument> cannot be moved from.</para>
                    </description>
                </function>
                <function name="operator==" href="testqdoc-test.html#operator-eq-eq" status="active" access="public" location="testcpp.h" documented="true" related="5" meta="plain" type="bool" signature="bool operator==(const TestQDoc::Test &amp;lhs, const TestQDoc::Test &amp;rhs)">
                    <parameter type="const TestQDoc::Test &amp;" name="lhs" default=""/>
                    <parameter type="const TestQDoc::Test &amp;" name="rhs" default=""/>
                    <description>
                        <para>Returns true if <argument>lhs</argument> and <argument>rhs</argument> are equal.</para>
                    </description>
                </function>
                <function name="overload" fullname="TestQDoc::Test::overload" href="testqdoc-test.html#overload" status="active" access="protected" location="testcpp.h" documented="true" meta="plain" type="void" signature="void overload()">
                    <description/>
                </function>
                <function name="overload" fullname="TestQDoc::Test::overload" href="testqdoc-test.html#overload-1" status="active" access="protected" location="testcpp.h" documented="true" since="Test 1.2" meta="plain" overload="true" overload-number="1" type="void" signature="void overload(bool b)">
                    <parameter type="bool" name="b" default=""/>
                    <description/>
                </function>
                <function name="someFunction" fullname="TestQDoc::Test::someFunction" href="testqdoc-test.html#someFunction" status="active" access="public" location="testcpp.h" documented="true" since="Test 1.0" meta="plain" type="int" signature="int someFunction(int, int v)">
                    <parameter type="int" name="" default=""/>
                    <parameter type="int" name="v" default="0"/>
                    <description>
                        <para>Function that takes a parameter <argument>v</argument>. Also returns the value of <argument>v</argument>.</para>
                    </description>
                </function>
                <function name="someFunctionDefaultArg" fullname="TestQDoc::Test::someFunctionDefaultArg" href="testqdoc-test.html#someFunctionDefaultArg" threadsafety="non-reentrant" status="active" access="public" location="testcpp.h" documented="true" since="2.0" meta="plain" const="true" type="void" signature="void someFunctionDefaultArg(int i, bool b) const" groups="testgroup">
                    <parameter type="int" name="i" default=""/>
                    <parameter type="bool" name="b" default="false"/>
                    <description>
                        <para>Function that takes a parameter <argument>i</argument> and <argument>b</argument>.</para>
                    </description>
                </function>
                <function name="virtualFun" fullname="TestQDoc::Test::virtualFun" href="testqdoc-test.html#virtualFun" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="virtual" type="void" signature="void virtualFun()">
                    <description>
                        <para>Function that must be reimplemented.</para>
                    </description>
                </function>
                <struct name="Struct" fullname="TestQDoc::Test::Struct" href="testqdoc-test-struct.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Templated struct">
                    <description>
                        <brief>Templated struct.</brief>
                    </description>
                </struct>
                <typedef name="SomeType" fullname="TestQDoc::Test::SomeType" href="testqdoc-test.html#SomeType-typedef" status="active" access="public" location="testcpp.h" documented="true">
                    <description>
                        <brief>A typedef.</brief>
                    </description>
                </typedef>
                <typedef name="Specialized" fullname="TestQDoc::Test::Specialized" href="testqdoc-test.html#Specialized-typedef" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="Struct&lt;int, T&gt;">
                    <description/>
                </typedef>
                <property name="id" fullname="TestQDoc::Test::id" href="testqdoc-test.html#id-prop" status="active" access="public" location="testcpp.h" documented="true" writable="false" dataType="int">
                    <description/>
                </property>
            </class>
            <class name="TestDerived" fullname="TestQDoc::TestDerived" href="testqdoc-testderived.html" status="active" access="public" location="testcpp.h" since="2.0" documented="true" bases="TestQDoc::Test" module="TestCPP" brief="A class in a namespace, derived from Test">
                <description>
                    <brief>A class in a namespace, derived from <link raw="Test" href="testqdoc-test.html" type="class">Test</link>.</brief>
                </description>
                <function name="bindableProp" fullname="TestQDoc::TestDerived::bindableProp" href="testqdoc-testderived.html#bindableProp-prop" status="active" access="public" location="testcpp.h" meta="plain" associated-property="bindableProp" type="QBindable&lt;QString&gt;" signature="QBindable&lt;QString&gt; bindableProp()">
                    <description>
                        <see-also>setBindableProp()</see-also>
                    </description>
                </function>
                <function name="bindablePropChanged" fullname="TestQDoc::TestDerived::bindablePropChanged" href="testqdoc-testderived.html#bindableProp-prop" status="active" access="public" location="testcpp.h" meta="signal" associated-property="bindableProp" type="void" signature="void bindablePropChanged()">
                    <description/>
                </function>
                <function name="boolProp" fullname="TestQDoc::TestDerived::boolProp" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="plain" associated-property="boolProp" type="bool" signature="bool boolProp()">
                    <description>
                        <see-also>setBoolProp()</see-also>
                    </description>
                </function>
                <function name="boolPropChanged" fullname="TestQDoc::TestDerived::boolPropChanged" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="signal" associated-property="boolProp,secondBoolProp" type="void" signature="void boolPropChanged()">
                    <description/>
                </function>
                <function name="emitSomething" fullname="TestQDoc::TestDerived::emitSomething" href="testqdoc-testderived.html#emitSomething" status="active" access="public" location="testcpp.h" documented="true" meta="signal" type="void" signature="void emitSomething()">
                    <description>
                        <para>Emitted when things happen.</para>
                    </description>
                </function>
                <function name="getInt" fullname="TestQDoc::TestDerived::getInt" href="testqdoc-testderived.html#intProp-prop" status="active" access="public" location="testcpp.h" meta="plain" associated-property="intProp" type="int *" signature="int * getInt()">
                    <description/>
                </function>
                <function name="id" fullname="TestQDoc::TestDerived::id" href="testqdoc-testderived.html#id" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="virtual" override="true" type="int" signature="int id() override">
                    <description/>
                </function>
                <function name="invokeMe" fullname="TestQDoc::TestDerived::invokeMe" href="testqdoc-testderived.html#invokeMe" status="active" access="public" location="testcpp.h" documented="true" meta="plain" const="true" type="void" brief="Something invokable" signature="void invokeMe() const">
                    <description>
                        <brief>Something invokable.</brief>
                    </description>
                </function>
                <function name="name" fullname="TestQDoc::TestDerived::name" href="testqdoc-testderived.html#name-prop" status="active" access="public" location="testcpp.h" meta="plain" const="true" associated-property="name" type="const QString *" signature="const QString * name() const">
                    <description/>
                </function>
                <function name="resetBoolProp" fullname="TestQDoc::TestDerived::resetBoolProp" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="slot" associated-property="boolProp" type="void" signature="void resetBoolProp()">
                    <description/>
                </function>
                <function name="secondBoolProp" fullname="TestQDoc::TestDerived::secondBoolProp" href="testqdoc-testderived.html#secondBoolProp-prop" status="active" access="public" location="testcpp.h" meta="plain" associated-property="secondBoolProp" type="bool" signature="bool secondBoolProp()">
                    <description/>
                </function>
                <function name="setBindableProp" fullname="TestQDoc::TestDerived::setBindableProp" href="testqdoc-testderived.html#bindableProp-prop" status="active" access="public" location="testcpp.h" meta="slot" associated-property="bindableProp" type="void" signature="void setBindableProp(const QString &amp;s)">
                    <parameter type="const QString &amp;" name="s" default=""/>
                    <description>
                        <see-also>bindableProp()</see-also>
                    </description>
                </function>
                <function name="setBoolProp" fullname="TestQDoc::TestDerived::setBoolProp" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" meta="slot" associated-property="boolProp" type="void" signature="void setBoolProp(bool b)">
                    <parameter type="bool" name="b" default=""/>
                    <description>
                        <see-also>boolProp()</see-also>
                    </description>
                </function>
                <function name="someProp" fullname="TestQDoc::TestDerived::someProp" href="testqdoc-testderived.html#someProp-prop" status="active" access="public" location="testcpp.h" meta="plain" associated-property="someProp" type="const QString &amp;" signature="const QString &amp; someProp()">
                    <description/>
                </function>
                <function name="someValue" fullname="TestQDoc::TestDerived::someValue" href="testqdoc-testderived.html#someValue" status="active" access="public" location="testcpp.h" documented="true" meta="plain" type="TestQDoc::TestDerived::NotTypedef" signature="TestQDoc::TestDerived::NotTypedef someValue()">
                    <description>
                        <para>Returns a value using an aliases type.</para>
                    </description>
                </function>
                <function name="staticObsoleteMember" fullname="TestQDoc::TestDerived::staticObsoleteMember" href="testqdoc-testderived-obsolete.html#staticObsoleteMember" status="deprecated" access="public" location="testcpp.h" documented="true" meta="plain" static="true" type="void" signature="void staticObsoleteMember()">
                    <description>
                        <para>Static obsolete method.</para>
                    </description>
                </function>
                <function name="virtualFun" fullname="TestQDoc::TestDerived::virtualFun" href="testqdoc-testderived.html#virtualFun" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="virtual" override="true" type="void" signature="void virtualFun() override">
                    <description/>
                </function>
                <enum name="anonymous-testcpp-h-296" fullname="TestQDoc::TestDerived::anonymous-testcpp-h-296" href="testqdoc-testderived.html#anonymous-testcpp-h-296-enum" status="active" access="public" location="testcpp.h" documented="true" anonymous="true">
                    <value name="Val1" value="0"/>
                    <value name="Val2" value="1"/>
                    <description>
                        <list type="enum">
                            <definition>
                                <term>TestQDoc::TestDerived::Val1</term>Val1</definition>
                            <item/>
                            <definition>
                                <term>TestQDoc::TestDerived::Val2</term>Val2</definition>
                            <item/>
                        </list>
                    </description>
                </enum>
                <enum name="anonymous-testcpp-h-302" fullname="TestQDoc::TestDerived::anonymous-testcpp-h-302" href="testqdoc-testderived.html#anonymous-testcpp-h-302-enum" status="active" access="public" location="testcpp.h" documented="true" anonymous="true">
                    <value name="Val3" value="0"/>
                    <value name="Val4" value="1"/>
                    <description>
                        <list type="enum">
                            <definition>
                                <term>TestQDoc::TestDerived::Val3</term>Val3</definition>
                            <item/>
                            <definition>
                                <term>TestQDoc::TestDerived::Val4</term>Val4</definition>
                            <item/>
                        </list>
                    </description>
                </enum>
                <typedef name="DerivedType" fullname="TestQDoc::TestDerived::DerivedType" href="testqdoc-testderived.html#DerivedType-typedef" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="Test::SomeType">
                    <description>
                        <para>An aliased typedef.</para>
                    </description>
                </typedef>
                <typedef name="NotTypedef" fullname="TestQDoc::TestDerived::NotTypedef" href="testqdoc-testderived.html#NotTypedef-typedef" status="active" access="public" location="testcpp.h" documented="true" aliasedtype="int">
                    <description>
                        <para>I'm an alias, not a typedef.</para>
                    </description>
                </typedef>
                <property name="bindableProp" fullname="TestQDoc::TestDerived::bindableProp" href="testqdoc-testderived.html#bindableProp-prop" status="active" access="public" location="testcpp.h" documented="true" bindable="true" dataType="QString">
                    <getter name="bindableProp"/>
                    <setter name="setBindableProp"/>
                    <notifier name="bindablePropChanged"/>
                    <description>
                        <para>Some property.</para>
                        <see-also>
                            <link raw="someProp" href="testqdoc-testderived.html#someProp-prop" type="function">someProp</link>
                        </see-also>
                    </description>
                </property>
                <property name="boolProp" fullname="TestQDoc::TestDerived::boolProp" href="testqdoc-testderived.html#boolProp-prop" status="active" access="public" location="testcpp.h" documented="true" dataType="bool">
                    <getter name="boolProp"/>
                    <setter name="setBoolProp"/>
                    <resetter name="resetBoolProp"/>
                    <notifier name="boolPropChanged"/>
                    <description>
                        <para>A boolean property.</para>
                    </description>
                </property>
                <property name="intProp" fullname="TestQDoc::TestDerived::intProp" href="testqdoc-testderived.html#intProp-prop" status="active" access="public" location="testcpp.h" documented="true" writable="false" constant="true" dataType="int*">
                    <getter name="getInt"/>
                    <description>
                        <para>An integer property.</para>
                    </description>
                </property>
                <property name="name" fullname="TestQDoc::TestDerived::name" href="testqdoc-testderived.html#name-prop" status="active" access="public" location="testcpp.h" documented="true" writable="false" dataType="const QString*" brief="Name">
                    <getter name="name"/>
                    <description>
                        <brief>This property holds a name..</brief>
                    </description>
                </property>
                <property name="secondBoolProp" fullname="TestQDoc::TestDerived::secondBoolProp" href="testqdoc-testderived.html#secondBoolProp-prop" status="active" access="public" location="testcpp.h" documented="true" writable="false" dataType="bool">
                    <getter name="secondBoolProp"/>
                    <notifier name="boolPropChanged"/>
                    <description>
                        <para>A property sharing a notifier signal with <link raw="boolProp" href="testqdoc-testderived.html#boolProp-prop" type="function">boolProp</link>.</para>
                    </description>
                </property>
                <property name="someProp" fullname="TestQDoc::TestDerived::someProp" href="testqdoc-testderived.html#someProp-prop" status="active" access="public" location="testcpp.h" documented="true" bindable="true" writable="false" dataType="QString">
                    <getter name="someProp"/>
                    <description>
                        <para>Another property.</para>
                    </description>
                </property>
            </class>
            <class name="Vec" fullname="TestQDoc::Vec" href="testqdoc-vec.html" status="active" access="public" location="testcpp.h" since="2.0" documented="true" module="TestCPP" brief="Type alias that has its own reference">
                <description>
                    <brief>Type alias that has its own reference.</brief>
                </description>
            </class>
            <variable name="QDOCTEST_GLOBAL_VARIABLE" href="testqdoc.html#QDOCTEST_GLOBAL_VARIABLE-var" status="active" access="public" location="testcpp.h" related="6" since="Test 1.2" documented="true" type="int" static="false" brief="A test variable for since documentation">
                <description>
                    <brief>This variable holds A test variable for since documentation..</brief>
                </description>
            </variable>
        </namespace>
    </document>
</WebXML>
