List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
casadi::FileDeserializer Class Reference

#include <serializer.hpp>

Detailed Description

Definition at line 251 of file serializer.hpp.

Inheritance diagram for casadi::FileDeserializer:
Inheritance graph
[legend]
Collaboration diagram for casadi::FileDeserializer:
Collaboration graph
[legend]

Public Member Functions

 FileDeserializer (const std::string &fname)
 Advanced deserialization of CasADi objects. More...
 
 ~FileDeserializer ()
 
SerializerBase::SerializationType pop_type ()
 
Sparsity blind_unpack_sparsity ()
 
MX blind_unpack_mx ()
 
MX blind_unpack_mx_v1 ()
 
Matrix< double > blind_unpack_dm ()
 
Matrix< SXElemblind_unpack_sx ()
 
Matrix< SXElemblind_unpack_sx_v1 ()
 
Linsol blind_unpack_linsol ()
 
Function blind_unpack_function ()
 
GenericType blind_unpack_generictype ()
 
casadi_int blind_unpack_int ()
 
double blind_unpack_double ()
 
std::string blind_unpack_string ()
 
std::vector< Sparsityblind_unpack_sparsity_vector ()
 
std::vector< MXblind_unpack_mx_vector ()
 
std::vector< MXblind_unpack_mx_vector_v1 ()
 
std::vector< Matrix< double > > blind_unpack_dm_vector ()
 
std::vector< Matrix< SXElem > > blind_unpack_sx_vector ()
 
std::vector< Matrix< SXElem > > blind_unpack_sx_vector_v1 ()
 
std::vector< Linsolblind_unpack_linsol_vector ()
 
std::vector< Functionblind_unpack_function_vector ()
 
std::vector< GenericTypeblind_unpack_generictype_vector ()
 
std::vector< casadi_int > blind_unpack_int_vector ()
 
std::vector< double > blind_unpack_double_vector ()
 
std::vector< std::string > blind_unpack_string_vector ()
 
Sparsity unpack_sparsity ()
 
MX unpack_mx ()
 
Matrix< double > unpack_dm ()
 
Matrix< SXElemunpack_sx ()
 
Linsol unpack_linsol ()
 
Function unpack_function ()
 
GenericType unpack_generictype ()
 
casadi_int unpack_int ()
 
double unpack_double ()
 
std::string unpack_string ()
 
std::vector< Sparsityunpack_sparsity_vector ()
 
std::vector< MXunpack_mx_vector ()
 
std::vector< Matrix< double > > unpack_dm_vector ()
 
std::vector< Matrix< SXElem > > unpack_sx_vector ()
 
std::vector< Linsolunpack_linsol_vector ()
 
std::vector< Functionunpack_function_vector ()
 
std::vector< GenericTypeunpack_generictype_vector ()
 
std::vector< casadi_int > unpack_int_vector ()
 
std::vector< double > unpack_double_vector ()
 
std::vector< std::string > unpack_string_vector ()
 
void connect (SerializerBase &s)
 
void reset ()
 

Protected Member Functions

DeserializingStreamdeserializer ()
 

Protected Attributes

std::unique_ptr< std::istream > dstream_
 
std::unique_ptr< DeserializingStreamdeserializer_
 

Constructor & Destructor Documentation

◆ FileDeserializer()

casadi::FileDeserializer::FileDeserializer ( const std::string &  fname)
See also
FileSerializer

Extra doc: https://github.com/casadi/casadi/wiki/L_7t

Definition at line 108 of file serializer.cpp.

108  :
109  DeserializerBase(std::unique_ptr<std::istream>(
110  new std::ifstream(fname, std::ios_base::binary | std::ios::in))) {
111  if ((dstream_->rdstate() & std::ifstream::failbit) != 0) {
112  casadi_error("Could not open file '" + fname + "' for reading.");
113  }
114  }
std::unique_ptr< std::istream > dstream_
Definition: serializer.hpp:177
DeserializerBase(std::unique_ptr< std::istream > stream)
Definition: serializer.cpp:103

References casadi::DeserializerBase::dstream_.

◆ ~FileDeserializer()

casadi::FileDeserializer::~FileDeserializer ( )

Definition at line 123 of file serializer.cpp.

123 { }

Member Function Documentation

◆ blind_unpack_dm()

Matrix<double> casadi::DeserializerBase::blind_unpack_dm ( )
inherited

◆ blind_unpack_dm_vector()

std::vector< Matrix<double> > casadi::DeserializerBase::blind_unpack_dm_vector ( )
inherited

◆ blind_unpack_double()

double casadi::DeserializerBase::blind_unpack_double ( )
inherited

◆ blind_unpack_double_vector()

std::vector<double> casadi::DeserializerBase::blind_unpack_double_vector ( )
inherited

◆ blind_unpack_function()

Function casadi::DeserializerBase::blind_unpack_function ( )
inherited

Referenced by casadi::Function::load().

◆ blind_unpack_function_vector()

std::vector<Function> casadi::DeserializerBase::blind_unpack_function_vector ( )
inherited

◆ blind_unpack_generictype()

GenericType casadi::DeserializerBase::blind_unpack_generictype ( )
inherited

◆ blind_unpack_generictype_vector()

std::vector<GenericType> casadi::DeserializerBase::blind_unpack_generictype_vector ( )
inherited

◆ blind_unpack_int()

casadi_int casadi::DeserializerBase::blind_unpack_int ( )
inherited

◆ blind_unpack_int_vector()

std::vector<casadi_int> casadi::DeserializerBase::blind_unpack_int_vector ( )
inherited

◆ blind_unpack_linsol()

Linsol casadi::DeserializerBase::blind_unpack_linsol ( )
inherited

◆ blind_unpack_linsol_vector()

std::vector<Linsol> casadi::DeserializerBase::blind_unpack_linsol_vector ( )
inherited

◆ blind_unpack_mx()

MX casadi::DeserializerBase::blind_unpack_mx ( )
inherited

Definition at line 161 of file serializer.cpp.

161  {
162  std::vector<MX> sorted;
163  deserializer().unpack(sorted);
164  MX ret;
165  deserializer().unpack(ret);
166  return ret;
167  }
DeserializingStream & deserializer()
Definition: serializer.cpp:129
void unpack(Sparsity &e)
Reconstruct an object from the input stream.

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_mx().

◆ blind_unpack_mx_v1()

MX casadi::DeserializerBase::blind_unpack_mx_v1 ( )
inherited

Definition at line 189 of file serializer.cpp.

189  {
190  Function f;
191  deserializer().unpack(f);
192  MX ret;
193  deserializer().unpack(ret);
194  return ret;
195  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_mx().

◆ blind_unpack_mx_vector()

std::vector< MX > casadi::DeserializerBase::blind_unpack_mx_vector ( )
inherited

Definition at line 175 of file serializer.cpp.

175  {
176  std::vector<MX> sorted;
177  deserializer().unpack(sorted);
178  std::vector<MX> ret;
179  deserializer().unpack(ret);
180  return ret;
181  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_mx_vector().

◆ blind_unpack_mx_vector_v1()

std::vector< MX > casadi::DeserializerBase::blind_unpack_mx_vector_v1 ( )
inherited

Definition at line 203 of file serializer.cpp.

203  {
204  Function f;
205  deserializer().unpack(f);
206  std::vector<MX> ret;
207  deserializer().unpack(ret);
208  return ret;
209  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_mx_vector().

◆ blind_unpack_sparsity()

Sparsity casadi::DeserializerBase::blind_unpack_sparsity ( )
inherited

◆ blind_unpack_sparsity_vector()

std::vector<Sparsity> casadi::DeserializerBase::blind_unpack_sparsity_vector ( )
inherited

◆ blind_unpack_string()

std::string casadi::DeserializerBase::blind_unpack_string ( )
inherited

◆ blind_unpack_string_vector()

std::vector<std::string> casadi::DeserializerBase::blind_unpack_string_vector ( )
inherited

◆ blind_unpack_sx()

SX casadi::DeserializerBase::blind_unpack_sx ( )
inherited

Definition at line 168 of file serializer.cpp.

168  {
169  std::vector<SX> sorted;
170  deserializer().unpack(sorted);
171  SX ret;
172  deserializer().unpack(ret);
173  return ret;
174  }
Matrix< SXElem > SX
Definition: sx_fwd.hpp:32

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_sx().

◆ blind_unpack_sx_v1()

SX casadi::DeserializerBase::blind_unpack_sx_v1 ( )
inherited

Definition at line 196 of file serializer.cpp.

196  {
197  Function f;
198  deserializer().unpack(f);
199  SX ret;
200  deserializer().unpack(ret);
201  return ret;
202  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_sx().

◆ blind_unpack_sx_vector()

std::vector< SX > casadi::DeserializerBase::blind_unpack_sx_vector ( )
inherited

Definition at line 182 of file serializer.cpp.

182  {
183  std::vector<SX> sorted;
184  deserializer().unpack(sorted);
185  std::vector<SX> ret;
186  deserializer().unpack(ret);
187  return ret;
188  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_sx_vector().

◆ blind_unpack_sx_vector_v1()

std::vector< SX > casadi::DeserializerBase::blind_unpack_sx_vector_v1 ( )
inherited

Definition at line 210 of file serializer.cpp.

210  {
211  Function f;
212  deserializer().unpack(f);
213  std::vector<SX> ret;
214  deserializer().unpack(ret);
215  return ret;
216  }

References casadi::DeserializerBase::deserializer(), and casadi::DeserializingStream::unpack().

Referenced by casadi::DeserializerBase::unpack_sx_vector().

◆ connect()

void casadi::DeserializerBase::connect ( SerializerBase s)
inherited

Definition at line 301 of file serializer.cpp.

301  {
302  deserializer_->connect(*s.serializer_);
303  }
std::unique_ptr< DeserializingStream > deserializer_
Definition: serializer.hpp:178

References casadi::DeserializerBase::deserializer_, and casadi::SerializerBase::serializer_.

◆ deserializer()

DeserializingStream & casadi::DeserializerBase::deserializer ( )
protectedinherited

◆ pop_type()

SerializerBase::SerializationType casadi::DeserializerBase::pop_type ( )
inherited

◆ reset()

void casadi::DeserializerBase::reset ( )
inherited

Definition at line 304 of file serializer.cpp.

304  {
305  deserializer_->reset();
306  }

References casadi::DeserializerBase::deserializer_.

◆ unpack_dm()

Matrix<double> casadi::DeserializerBase::unpack_dm ( )
inherited

◆ unpack_dm_vector()

std::vector< Matrix<double> > casadi::DeserializerBase::unpack_dm_vector ( )
inherited

◆ unpack_double()

double casadi::DeserializerBase::unpack_double ( )
inherited

◆ unpack_double_vector()

std::vector<double> casadi::DeserializerBase::unpack_double_vector ( )
inherited

◆ unpack_function()

Function casadi::DeserializerBase::unpack_function ( )
inherited

◆ unpack_function_vector()

std::vector<Function> casadi::DeserializerBase::unpack_function_vector ( )
inherited

◆ unpack_generictype()

GenericType casadi::DeserializerBase::unpack_generictype ( )
inherited

◆ unpack_generictype_vector()

std::vector<GenericType> casadi::DeserializerBase::unpack_generictype_vector ( )
inherited

◆ unpack_int()

casadi_int casadi::DeserializerBase::unpack_int ( )
inherited

◆ unpack_int_vector()

std::vector<casadi_int> casadi::DeserializerBase::unpack_int_vector ( )
inherited

◆ unpack_linsol()

Linsol casadi::DeserializerBase::unpack_linsol ( )
inherited

◆ unpack_linsol_vector()

std::vector<Linsol> casadi::DeserializerBase::unpack_linsol_vector ( )
inherited

◆ unpack_mx()

MX casadi::DeserializerBase::unpack_mx ( )
inherited

Definition at line 217 of file serializer.cpp.

217  {
219  if (t==SerializerBase::SerializationType::SERIALIZED_MX_v1) {
220  return blind_unpack_mx_v1();
221  }
222  casadi_assert(t==SerializerBase::SerializationType::SERIALIZED_MX,
223  "Expected to find a '" + SerializerBase::type_to_string(
224  SerializerBase::SerializationType::SERIALIZED_MX)+
225  "', but encountered a '" + SerializerBase::type_to_string(t) + "' instead.");
226  return blind_unpack_mx();
227  }
SerializerBase::SerializationType pop_type()
Definition: serializer.cpp:135
static std::string type_to_string(SerializationType type)
Definition: serializer.cpp:54

References casadi::DeserializerBase::blind_unpack_mx(), casadi::DeserializerBase::blind_unpack_mx_v1(), casadi::DeserializerBase::pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_mx_vector()

std::vector< MX > casadi::DeserializerBase::unpack_mx_vector ( )
inherited

Definition at line 239 of file serializer.cpp.

239  {
241  if (t==SerializerBase::SerializationType::SERIALIZED_MX_VECTOR_v1) {
242  return blind_unpack_mx_vector_v1();
243  }
244  casadi_assert(t==SerializerBase::SerializationType::SERIALIZED_MX_VECTOR, \
245  "Expected to find a '" + SerializerBase::type_to_string(
246  SerializerBase::SerializationType::SERIALIZED_MX_VECTOR)+
247  "', but encountered a '" + SerializerBase::type_to_string(t) + "' instead.");
248  return blind_unpack_mx_vector();
249  }
std::vector< MX > blind_unpack_mx_vector()
Definition: serializer.cpp:175
std::vector< MX > blind_unpack_mx_vector_v1()
Definition: serializer.cpp:203

References casadi::DeserializerBase::blind_unpack_mx_vector(), casadi::DeserializerBase::blind_unpack_mx_vector_v1(), casadi::DeserializerBase::pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_sparsity()

Sparsity casadi::DeserializerBase::unpack_sparsity ( )
inherited

◆ unpack_sparsity_vector()

std::vector<Sparsity> casadi::DeserializerBase::unpack_sparsity_vector ( )
inherited

◆ unpack_string()

std::string casadi::DeserializerBase::unpack_string ( )
inherited

◆ unpack_string_vector()

std::vector<std::string> casadi::DeserializerBase::unpack_string_vector ( )
inherited

◆ unpack_sx()

SX casadi::DeserializerBase::unpack_sx ( )
inherited

Definition at line 228 of file serializer.cpp.

228  {
230  if (t==SerializerBase::SerializationType::SERIALIZED_SX_v1) {
231  return blind_unpack_sx_v1();
232  }
233  casadi_assert(t==SerializerBase::SerializationType::SERIALIZED_SX,
234  "Expected to find a '" + SerializerBase::type_to_string(
235  SerializerBase::SerializationType::SERIALIZED_SX)+
236  "', but encountered a '" + SerializerBase::type_to_string(t) + "' instead.");
237  return blind_unpack_sx();
238  }
Matrix< SXElem > blind_unpack_sx_v1()
Definition: serializer.cpp:196
Matrix< SXElem > blind_unpack_sx()
Definition: serializer.cpp:168

References casadi::DeserializerBase::blind_unpack_sx(), casadi::DeserializerBase::blind_unpack_sx_v1(), casadi::DeserializerBase::pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_sx_vector()

std::vector< SX > casadi::DeserializerBase::unpack_sx_vector ( )
inherited

Definition at line 250 of file serializer.cpp.

250  {
252  if (t==SerializerBase::SerializationType::SERIALIZED_SX_VECTOR_v1) {
253  return blind_unpack_sx_vector_v1();
254  }
255  casadi_assert(t==SerializerBase::SerializationType::SERIALIZED_SX_VECTOR, \
256  "Expected to find a '" + SerializerBase::type_to_string(\
257  SerializerBase::SerializationType::SERIALIZED_SX_VECTOR)+
258  "', but encountered a '" + SerializerBase::type_to_string(t) + "' instead.");
259  return blind_unpack_sx_vector();
260  }
std::vector< Matrix< SXElem > > blind_unpack_sx_vector_v1()
Definition: serializer.cpp:210
std::vector< Matrix< SXElem > > blind_unpack_sx_vector()
Definition: serializer.cpp:182

References casadi::DeserializerBase::blind_unpack_sx_vector(), casadi::DeserializerBase::blind_unpack_sx_vector_v1(), casadi::DeserializerBase::pop_type(), and casadi::SerializerBase::type_to_string().

Member Data Documentation

◆ deserializer_

std::unique_ptr<DeserializingStream> casadi::DeserializerBase::deserializer_
protectedinherited

◆ dstream_

std::unique_ptr<std::istream> casadi::DeserializerBase::dstream_
protectedinherited

The documentation for this class was generated from the following files: