aboutsummaryrefslogtreecommitdiffstats
path: root/docs/checks/README-rule-of-three.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/checks/README-rule-of-three.md')
-rw-r--r--docs/checks/README-rule-of-three.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/checks/README-rule-of-three.md b/docs/checks/README-rule-of-three.md
new file mode 100644
index 00000000..9e9f64ea
--- /dev/null
+++ b/docs/checks/README-rule-of-three.md
@@ -0,0 +1,13 @@
+# rule-of-three
+
+Implements the rule of three:
+<https://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29>
+
+#### Exceptions
+To reduce the amount of warnings, these cases won't emit warnings:
+- class has a QSharedDataPointer member
+- class inherits from QSharedData
+- if only the dtor is implemented and it's protected
+- class name ends with "Private" and is defined in a .cpp, .cxx or _p.h file
+
+In some cases you're missing methods, in others you have too many methods. You'll have to judge what's the correct fix and beware of binary compatibility.