File: bytecode_serialization.rst

package info (click to toggle)
supertux 0.6.3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 264,124 kB
  • sloc: cpp: 113,426; ansic: 9,654; sh: 4,483; cs: 1,296; makefile: 407; yacc: 398; python: 382; lisp: 285; objc: 248; csh: 219; lex: 140; perl: 118; xml: 53; ruby: 36
file content (32 lines) | stat: -rw-r--r-- 1,174 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.. _api_ref_bytecode_serialization:

======================
Bytecode serialization
======================

.. _sq_readclosure:

.. c:function:: SQRESULT sq_readclosure(HSQUIRRELVM v, SQREADFUNC readf, SQUserPointer up)

    :param HSQUIRRELVM v: the target VM
    :param SQREADFUNC readf: pointer to a read function that will be invoked by the vm during the serialization.
    :param SQUserPointer up: pointer that will be passed to each call to the read function
    :returns: a SQRESULT

serialize (read) a closure and pushes it on top of the stack, the source is user defined through a read callback.





.. _sq_writeclosure:

.. c:function:: SQRESULT sq_writeclosure(HSQUIRRELVM v, SQWRITEFUNC writef, SQUserPointer up)

    :param HSQUIRRELVM v: the target VM
    :param SQWRITEFUNC writef: pointer to a write function that will be invoked by the vm during the serialization.
    :param SQUserPointer up: pointer that will be passed to each call to the write function
    :returns: a SQRESULT
    :remarks: closures with free variables cannot be serialized

serializes(writes) the closure on top of the stack, the destination is user defined through a write callback.