summaryrefslogtreecommitdiffstats
path: root/testing/081_extract_private_virtual.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testing/081_extract_private_virtual.cpp')
-rw-r--r--testing/081_extract_private_virtual.cpp35
1 files changed, 35 insertions, 0 deletions
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();
+};