| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- out_value
- ----------------
- Motivation
- ~~~~~~~~~~
- This policy makes it possible to wrap functions that take non-const references
- or pointer to non-const as it's parameters with the intention to write return
- values to them. Since it's impossible to pass references to primitive types
- in lua, this policy will add another return value with the value after the
- call. If the function already has one return value, one instance of this
- policy will add another return value (read about multiple return values in
- the lua manual).
- Defined in
- ~~~~~~~~~~
- .. parsed-literal::
- #include <luabind/out_value_policy.hpp>
- Synopsis
- ~~~~~~~~
- .. parsed-literal::
- out_value(index, policies = none)
- Parameters
- ~~~~~~~~~~
- =============== =============================================================
- Parameter Purpose
- =============== =============================================================
- ``index`` The index of the parameter to be used as an out parameter.
- ``policies`` The policies used internally to convert the out parameter
- to/from Lua. ``_1`` means **to** C++, ``_2`` means **from**
- C++.
- =============== =============================================================
- Example
- ~~~~~~~
- .. parsed-literal::
- void f1(float& val) { val = val + 10.f; }
- void f2(float\* val) { \*val = \*val + 10.f; }
- module(L)
- [
- def("f", &f, **out_value(_1)**)
- ];
- Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio
- > print(f1(10))
- 20
- > print(f2(10))
- 20
|