From ea768f172b2114c0a07e07e5ae7903f675bc665d Mon Sep 17 00:00:00 2001
From: Hugo Lima
Code Injection Semantics
explains how custom code injection is interpreted by {{ project }}
Command line options
+ explains the few flags used to change {{ project }} behaviour
Sequence Protocol
diff --git a/doc/commandlineoptions.rst b/doc/commandlineoptions.rst
new file mode 100644
index 000000000..ddd864a48
--- /dev/null
+++ b/doc/commandlineoptions.rst
@@ -0,0 +1,15 @@
+Command line options
+********************
+
+At the moment, there is just one flag to change the |project| behaviour, ``--enable-parent-ctor-heuristic``. This flag enable an usefull heuristic which can save a lot of work when writing the typesystem.
+
+This heuristic will be triggered when generating code for a method and:
+
+* The function is a constructor.
+* The argument name is "parent".
+* The argument type is a pointer to an object.
+
+When triggered, the heuristic will set the argument named "parent" as the parent of the current object.
+Being a child of an object means that when the object's parent dies, the C++ instance also dies, so the Python references will be invalidated.
+
+The main focus of this tag was to remove a lot of hand written code from typesystem when binding Qt libraries, for Qt, this heuristic is never wrong, but be aware that it might be when binding your own libraries.
--
cgit v1.2.3