summaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-01-08 18:45:22 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-01-08 18:45:22 (GMT)
commit08c27fdc4cffa3a30d3d2e2b9ea447146aad25ce (patch)
tree19ee7c7b1da8879d93d5efc185f4a25ecbf04c5a /testing
parentd2a39613ba6ff8780eeeb5550598190efa178ebc (diff)
parentd18b3eaf3486e224fa9de7e77b536883952b40b9 (diff)
downloadDoxygen-08c27fdc4cffa3a30d3d2e2b9ea447146aad25ce.zip
Doxygen-08c27fdc4cffa3a30d3d2e2b9ea447146aad25ce.tar.gz
Doxygen-08c27fdc4cffa3a30d3d2e2b9ea447146aad25ce.tar.bz2
Merge branch 'extract-private-virtual' of https://github.com/mosra/doxygen into mosra-extract-private-virtual
Diffstat (limited to 'testing')
-rw-r--r--testing/081/class_interface.xml110
-rw-r--r--testing/081_extract_private_virtual.cpp35
2 files changed, 145 insertions, 0 deletions
diff --git a/testing/081/class_interface.xml b/testing/081/class_interface.xml
new file mode 100644
index 0000000..2385b86
--- /dev/null
+++ b/testing/081/class_interface.xml
@@ -0,0 +1,110 @@
+<?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="class_interface" kind="class" language="C++" prot="public" abstract="yes">
+ <compoundname>Interface</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="class_interface_1ab58d3008a7001cbb47f2fa5a5a1aeefa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>void</type>
+ <definition>void Interface::load</definition>
+ <argsstring>()</argsstring>
+ <name>load</name>
+ <briefdescription>
+ <para>Load things. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>Calls <ref refid="class_interface_1a328e0a16ccee5d796ca93801a055d27d" kindref="member">doLoad()</ref>. </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="081_extract_private_virtual.cpp" line="13" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-func">
+ <memberdef kind="function" id="class_interface_1a328e0a16ccee5d796ca93801a055d27d" prot="private" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
+ <type>void</type>
+ <definition>virtual void Interface::doLoad</definition>
+ <argsstring>()=0</argsstring>
+ <name>doLoad</name>
+ <briefdescription>
+ <para>Pure virtual implementation for <ref refid="class_interface_1ab58d3008a7001cbb47f2fa5a5a1aeefa" kindref="member">load()</ref> </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>Details. </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="081_extract_private_virtual.cpp" line="21" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="class_interface_1ad13fffb1181ab0da1f8fbb586eff9afe" prot="private" static="no" const="no" explicit="no" inline="no" virt="virtual">
+ <type>void</type>
+ <definition>virtual void Interface::doOtherStuff</definition>
+ <argsstring>()</argsstring>
+ <name>doOtherStuff</name>
+ <briefdescription>
+ <para>Non-pure virtual function. </para>
+ </briefdescription>
+ <detaileddescription>
+ <para>Details. </para>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="081_extract_private_virtual.cpp" line="28" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="class_interface_1a46062977049a7c2c2c141e4487e954b8" prot="private" static="no" const="no" explicit="no" inline="no" virt="virtual">
+ <type>void</type>
+ <definition>virtual void Interface::doSomethingUndocumented</definition>
+ <argsstring>()</argsstring>
+ <name>doSomethingUndocumented</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="081_extract_private_virtual.cpp" line="31" column="1"/>
+ </memberdef>
+ <memberdef kind="function" id="class_interface_1a108dce1debd0596b57e7985bbb0f63a1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type>void</type>
+ <definition>void Interface::someUtility</definition>
+ <argsstring>()</argsstring>
+ <name>someUtility</name>
+ <briefdescription>
+ <para>A non-virtual private function, not extracted. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="081_extract_private_virtual.cpp" line="34" column="1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ <para>An interface. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="081_extract_private_virtual.cpp" line="6" column="1" bodyfile="081_extract_private_virtual.cpp" bodystart="6" bodyend="35"/>
+ <listofallmembers>
+ <member refid="class_interface_1a328e0a16ccee5d796ca93801a055d27d" prot="private" virt="pure-virtual">
+ <scope>Interface</scope>
+ <name>doLoad</name>
+ </member>
+ <member refid="class_interface_1ad13fffb1181ab0da1f8fbb586eff9afe" prot="private" virt="virtual">
+ <scope>Interface</scope>
+ <name>doOtherStuff</name>
+ </member>
+ <member refid="class_interface_1a46062977049a7c2c2c141e4487e954b8" prot="private" virt="virtual">
+ <scope>Interface</scope>
+ <name>doSomethingUndocumented</name>
+ </member>
+ <member refid="class_interface_1ab58d3008a7001cbb47f2fa5a5a1aeefa" prot="public" virt="non-virtual">
+ <scope>Interface</scope>
+ <name>load</name>
+ </member>
+ <member refid="class_interface_1a108dce1debd0596b57e7985bbb0f63a1" prot="private" virt="non-virtual">
+ <scope>Interface</scope>
+ <name>someUtility</name>
+ </member>
+ </listofallmembers>
+ </compounddef>
+</doxygen>
diff --git a/testing/081_extract_private_virtual.cpp b/testing/081_extract_private_virtual.cpp
new file mode 100644
index 0000000..ce4ed30
--- /dev/null
+++ b/testing/081_extract_private_virtual.cpp
@@ -0,0 +1,35 @@
+// objective: allow linking to private virtual functions
+// check: class_interface.xml
+// config: EXTRACT_PRIVATE_VIRTUAL = YES
+
+/** @brief An interface */
+class Interface {
+ public:
+ /**
+ * @brief Load things.
+ *
+ * Calls @ref doLoad().
+ */
+ void load();
+
+ private:
+ /**
+ * @brief Pure virtual implementation for @ref load()
+ *
+ * Details.
+ */
+ virtual void doLoad() = 0;
+
+ /**
+ * @brief Non-pure virtual function
+ *
+ * Details.
+ */
+ virtual void doOtherStuff();
+
+ /* Undocumented, should not appear in the docs */
+ virtual void doSomethingUndocumented();
+
+ /** @brief A non-virtual private function, not extracted */
+ void someUtility();
+};