Serialization
[Reflection and serialization]
Detailed Description
The serialization API lets you produce text or binary representations of a space, and recreate a copy of the original space from that representation. It provides funcionality for creating variables and posting propagators in a space using the specifications obtained through reflection.Requires
#include "gecode/serialization.hh"
Functions | |
void | Gecode::emitFlatzinc (Space *home, std::ostream &os) |
Produce FlatZinc-like representation of home
A FlatZinc-like representation of the space home is written to os, respecting the variable names established by m. | |
void | Gecode::emitJavaScript (Space *home, std::ostream &os) |
Produce JavaScript representation of home
A JavaScript representation of the space home is written to os, respecting the variable names established by m. |
Function Documentation
GECODE_SERIALIZATION_EXPORT void Gecode::emitFlatzinc | ( | Space * | home, | |
std::ostream & | os | |||
) |
Produce FlatZinc-like representation of home
A FlatZinc-like representation of the space home is written to os, respecting the variable names established by m.
The generated code is not completely FlatZinc-compatible, as propagator names are represented as C++-style template names.
Definition at line 333 of file flatzinc.cc.
GECODE_SERIALIZATION_EXPORT void Gecode::emitJavaScript | ( | Space * | home, | |
std::ostream & | os | |||
) |
Produce JavaScript representation of home
A JavaScript representation of the space home is written to os, respecting the variable names established by m.
Definition at line 140 of file javascript.cc.