#include <serializer.hpp>
Definition at line 181 of file serializer.hpp.
Public Member Functions | |
StringSerializer (const Dict &opts=Dict()) | |
Advanced serialization of CasADi objects. More... | |
~StringSerializer () | |
std::string | encode () |
Returns a string that holds the serialized objects. More... | |
void | pack (const Sparsity &e) |
void | pack (const MX &e) |
void | pack (const Matrix< double > &e) |
void | pack (const Matrix< SXElem > &e) |
void | pack (const Linsol &e) |
void | pack (const Function &e) |
void | pack (const GenericType &e) |
void | pack (const casadi_int &e) |
void | pack (const double &e) |
void | pack (const std::string &e) |
void | pack (const std::vector< Sparsity > &e) |
void | pack (const std::vector< MX > &e) |
void | pack (const std::vector< Matrix< double > > &e) |
void | pack (const std::vector< Matrix< SXElem > > &e) |
void | pack (const std::vector< Linsol > &e) |
void | pack (const std::vector< Function > &e) |
void | pack (const std::vector< GenericType > &e) |
void | pack (const std::vector< casadi_int > &e) |
void | pack (const std::vector< double > &e) |
void | pack (const std::vector< std::string > &e) |
void | connect (DeserializerBase &s) |
void | reset () |
Static Public Member Functions | |
static std::string | type_to_string (SerializationType type) |
Protected Member Functions | |
SerializingStream & | serializer () |
Protected Attributes | |
std::unique_ptr< std::ostream > | sstream_ |
std::unique_ptr< SerializingStream > | serializer_ |
|
inherited |
Definition at line 78 of file serializer.hpp.
This class is intended for advanced users that want to circumvent the restrictions of standard pickling/matlab save load, ie no raw SX/MX symbols allowed.
x = SX.sym('x'); s = StringSerializer(); s.pack(x); s.pack(sin(x)); data = s.encode(); s = StringDeserializer(data); a = s.unpack(); b = s.unpack();
Note: Saving SX/MX objects individually has a substantial overhead (both time and length of encoded string). You are encouraged to use the vector/list variants of 'save' for SX/MX to reduce the overhead.
Extra doc: https://github.com/casadi/casadi/wiki/L_7o
Definition at line 38 of file serializer.cpp.
casadi::StringSerializer::~StringSerializer | ( | ) |
Definition at line 101 of file serializer.cpp.
|
inherited |
Definition at line 295 of file serializer.cpp.
References casadi::SerializerBase::connect().
Referenced by casadi::SerializerBase::connect().
std::string casadi::StringSerializer::encode | ( | ) |
As a side effect, this method clears the internal buffer
Extra doc: https://github.com/casadi/casadi/wiki/L_7p
Definition at line 87 of file serializer.cpp.
References casadi::SerializerBase::sstream_, and casadi::str().
Referenced by casadi::external_transform().
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Definition at line 141 of file serializer.cpp.
References casadi::Function::order(), casadi::SerializingStream::pack(), casadi::SerializerBase::SERIALIZED_MX, and casadi::SerializerBase::serializer().
|
inherited |
Referenced by casadi::external_transform(), and casadi::Function::save().
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Definition at line 146 of file serializer.cpp.
References casadi::Function::order(), casadi::SerializingStream::pack(), casadi::SerializerBase::SERIALIZED_MX_VECTOR, and casadi::SerializerBase::serializer().
|
inherited |
|
inherited |
|
inherited |
Definition at line 298 of file serializer.cpp.
References casadi::SerializerBase::serializer_.
|
protectedinherited |
Definition at line 125 of file serializer.cpp.
References casadi::SerializerBase::serializer_.
Referenced by casadi::SerializerBase::pack().
|
staticinherited |
Definition at line 54 of file serializer.cpp.
References casadi::SerializerBase::SERIALIZED_DM, casadi::SerializerBase::SERIALIZED_DM_VECTOR, casadi::SerializerBase::SERIALIZED_DOUBLE, casadi::SerializerBase::SERIALIZED_DOUBLE_VECTOR, casadi::SerializerBase::SERIALIZED_FUNCTION, casadi::SerializerBase::SERIALIZED_FUNCTION_VECTOR, casadi::SerializerBase::SERIALIZED_GENERICTYPE, casadi::SerializerBase::SERIALIZED_GENERICTYPE_VECTOR, casadi::SerializerBase::SERIALIZED_INT, casadi::SerializerBase::SERIALIZED_INT_VECTOR, casadi::SerializerBase::SERIALIZED_LINSOL, casadi::SerializerBase::SERIALIZED_LINSOL_VECTOR, casadi::SerializerBase::SERIALIZED_MX, casadi::SerializerBase::SERIALIZED_MX_v1, casadi::SerializerBase::SERIALIZED_MX_VECTOR, casadi::SerializerBase::SERIALIZED_MX_VECTOR_v1, casadi::SerializerBase::SERIALIZED_SPARSITY, casadi::SerializerBase::SERIALIZED_SPARSITY_VECTOR, casadi::SerializerBase::SERIALIZED_STRING, casadi::SerializerBase::SERIALIZED_STRING_VECTOR, casadi::SerializerBase::SERIALIZED_SX, casadi::SerializerBase::SERIALIZED_SX_v1, casadi::SerializerBase::SERIALIZED_SX_VECTOR, casadi::SerializerBase::SERIALIZED_SX_VECTOR_v1, and casadi::str().
Referenced by casadi::DeserializerBase::unpack_mx(), casadi::DeserializerBase::unpack_mx_vector(), casadi::DeserializerBase::unpack_sx(), and casadi::DeserializerBase::unpack_sx_vector().
|
protectedinherited |
Definition at line 113 of file serializer.hpp.
Referenced by casadi::DeserializerBase::connect(), casadi::SerializerBase::reset(), and casadi::SerializerBase::serializer().
|
protectedinherited |
Definition at line 112 of file serializer.hpp.
Referenced by encode().