aboutsummaryrefslogtreecommitdiff
path: root/tests/GenerateSipBindings/external_lib.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2017-01-14 22:13:49 +0000
committerStephen Kelly <steveire@gmail.com>2017-01-15 11:18:50 +0000
commit636d6acc7adf8bf7169d38833340161dc42d3484 (patch)
tree2ff1bbefa5808aec21e902b10c9547e359067604 /tests/GenerateSipBindings/external_lib.h
parent8c347c61abafa68e247ff4664ae658cfa15af932 (diff)
downloadextra-cmake-modules-636d6acc7adf8bf7169d38833340161dc42d3484.tar.gz
extra-cmake-modules-636d6acc7adf8bf7169d38833340161dc42d3484.tar.bz2
Bindings: Fix handling of forward declarations
It is not appropriate to decorate each forward declaration with the SIP attribute /External/. That is only needed for forward declarations of types which are defined in a different module. Local forward declarations can be omitted from the sip code. In sip code, a forward declaration followed later by a full class definition is an error. Omit forward declarations unless they are decorated with the external attribute. Introduce a rules database for consumers to decorate them with the attribute as required.
Diffstat (limited to 'tests/GenerateSipBindings/external_lib.h')
-rw-r--r--tests/GenerateSipBindings/external_lib.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/GenerateSipBindings/external_lib.h b/tests/GenerateSipBindings/external_lib.h
new file mode 100644
index 00000000..f5ea38b2
--- /dev/null
+++ b/tests/GenerateSipBindings/external_lib.h
@@ -0,0 +1,12 @@
+
+#pragma once
+
+class ExternalFwdDecl
+{
+public:
+ ExternalFwdDecl(int value);
+
+ int getValue() const;
+private:
+ int m_value;
+};