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(Filesystem::ifstream_ptr(fname, std::ios_base::binary | std::ios::in)) {
110  if ((dstream_->rdstate() & std::ifstream::failbit) != 0) {
111  casadi_error("Could not open file '" + fname + "' for reading.");
112  }
113  }
std::unique_ptr< std::istream > dstream_
Definition: serializer.hpp:177
DeserializerBase(std::unique_ptr< std::istream > stream)
Definition: serializer.cpp:103
static std::unique_ptr< std::istream > ifstream_ptr(const std::string &path, std::ios_base::openmode mode=std::ios_base::in, bool fail=true)
Definition: filesystem.cpp:135

References casadi::DeserializerBase::dstream_.

◆ ~FileDeserializer()

casadi::FileDeserializer::~FileDeserializer ( )

Definition at line 122 of file serializer.cpp.

122 { }

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 160 of file serializer.cpp.

160  {
161  std::vector<MX> sorted;
162  deserializer().unpack(sorted);
163  MX ret;
164  deserializer().unpack(ret);
165  return ret;
166  }
DeserializingStream & deserializer()
Definition: serializer.cpp:128
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 188 of file serializer.cpp.

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

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 174 of file serializer.cpp.

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

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 202 of file serializer.cpp.

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

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 167 of file serializer.cpp.

167  {
168  std::vector<SX> sorted;
169  deserializer().unpack(sorted);
170  SX ret;
171  deserializer().unpack(ret);
172  return ret;
173  }
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 195 of file serializer.cpp.

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

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 181 of file serializer.cpp.

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

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 209 of file serializer.cpp.

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

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 300 of file serializer.cpp.

300  {
301  deserializer_->connect(*s.serializer_);
302  }
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 303 of file serializer.cpp.

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

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 216 of file serializer.cpp.

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

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 238 of file serializer.cpp.

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

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 227 of file serializer.cpp.

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

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 249 of file serializer.cpp.

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

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: