serialization.hh
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef __GECODE_SERIALIZATION_HH__
00039 #define __GECODE_SERIALIZATION_HH__
00040
00041 #include "gecode/kernel.hh"
00042
00043
00044
00045
00046
00047
00048 #if !defined(GECODE_STATIC_LIBS) && \
00049 (defined(__CYGWIN__) || defined(__MINGW32__) || defined(_MSC_VER))
00050
00051 #ifdef GECODE_BUILD_SERIALIZATION
00052 #define GECODE_SERIALIZATION_EXPORT __declspec( dllexport )
00053 #else
00054 #define GECODE_SERIALIZATION_EXPORT __declspec( dllimport )
00055 #endif
00056
00057 #else
00058
00059 #ifdef GECODE_GCC_HAS_CLASS_VISIBILITY
00060
00061 #define GECODE_SERIALIZATION_EXPORT __attribute__ ((visibility("default")))
00062
00063 #else
00064
00065 #define GECODE_SERIALIZATION_EXPORT
00066
00067 #endif
00068 #endif
00069
00070 #include <iostream>
00071 #include <vector>
00072
00073 namespace Gecode {
00074
00086 GECODE_SERIALIZATION_EXPORT
00087 void emitFlatzinc(Space* home, std::ostream& os);
00088
00097 GECODE_SERIALIZATION_EXPORT
00098 void emitJavaScript(Space* home, std::ostream& os);
00099
00100 #ifdef GECODE_HAS_QT
00101
00105 GECODE_SERIALIZATION_EXPORT
00106 void fromJavaScript(Space* home, const std::string& model);
00107 #endif
00108
00109 namespace Serialization {
00115
00116 GECODE_SERIALIZATION_EXPORT
00117 void initRegistry(void);
00118 }
00119 }
00120
00121 #ifdef GECODE_HAS_BOOST
00122
00123 namespace Gecode {
00128 GECODE_SERIALIZATION_EXPORT
00129 void boostTextSerialization(std::ostream& os,
00130 const std::vector<Reflection::VarSpec>& vars,
00131 const std::vector<Reflection::ActorSpec>& actors);
00136 GECODE_SERIALIZATION_EXPORT
00137 void boostTextSerialization(std::istream& is,
00138 std::vector<Reflection::VarSpec>& vars,
00139 std::vector<Reflection::ActorSpec>& actors);
00140 }
00141
00142 #include "gecode/serialization/boost.icc"
00143
00144 #endif
00145
00146
00147 #endif
00148
00149