Add missing index_tuple.hpp header.
[luabind.git] / doc / dependency.rst
blobf28aef0edbbde2ce349f1cc4f4eb1c99a66612d2
1 dependency
2 ----------------
4 Motivation
5 ~~~~~~~~~~
7 The dependency policy is used to create life-time dependencies between values.
8 This is needed for example when returning internal references to some class.
10 Defined in
11 ~~~~~~~~~~
13 .. parsed-literal::
15     #include <luabind/dependency_policy.hpp>
17 Synopsis
18 ~~~~~~~~
20 .. parsed-literal::
22     dependency(nurse_index, patient_index)
24 Parameters
25 ~~~~~~~~~~
27 ================= ==========================================================
28 Parameter         Purpose
29 ================= ==========================================================
30 ``nurse_index``   The index which will keep the patient alive. 
31 ``patient_index`` The index which will be kept alive.
32 ================= ==========================================================
34 Example
35 ~~~~~~~
37 .. parsed-literal::
39     struct X
40     {
41         B member;
42         B& get() { return member; }
43     };
45     module(L)
46     [
47         class_<X>("X")
48             .def("get", &X::get, **dependency(result, _1)**)
49     ];