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

#include <serializer.hpp>

Detailed Description

Definition at line 116 of file serializer.hpp.

Inheritance diagram for casadi::DeserializerBase:
Inheritance graph
[legend]

Public Member Functions

 DeserializerBase (std::unique_ptr< std::istream > stream)
 
 ~DeserializerBase ()
 
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_
 

Friends

class SerializerBase
 

Constructor & Destructor Documentation

◆ DeserializerBase()

casadi::DeserializerBase::DeserializerBase ( std::unique_ptr< std::istream >  stream)

Definition at line 103 of file serializer.cpp.

103  :
104  dstream_(std::move(stream)),
105  deserializer_(new DeserializingStream(*dstream_)) {
106  }
std::unique_ptr< DeserializingStream > deserializer_
Definition: serializer.hpp:178
std::unique_ptr< std::istream > dstream_
Definition: serializer.hpp:177

◆ ~DeserializerBase()

casadi::DeserializerBase::~DeserializerBase ( )

Definition at line 121 of file serializer.cpp.

121 { }

Member Function Documentation

◆ blind_unpack_dm()

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

◆ blind_unpack_dm_vector()

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

◆ blind_unpack_double()

double casadi::DeserializerBase::blind_unpack_double ( )

◆ blind_unpack_double_vector()

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

◆ blind_unpack_function()

Function casadi::DeserializerBase::blind_unpack_function ( )

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

◆ blind_unpack_function_vector()

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

◆ blind_unpack_generictype()

GenericType casadi::DeserializerBase::blind_unpack_generictype ( )

◆ blind_unpack_generictype_vector()

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

◆ blind_unpack_int()

casadi_int casadi::DeserializerBase::blind_unpack_int ( )

◆ blind_unpack_int_vector()

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

◆ blind_unpack_linsol()

Linsol casadi::DeserializerBase::blind_unpack_linsol ( )

◆ blind_unpack_linsol_vector()

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

◆ blind_unpack_mx()

MX casadi::DeserializerBase::blind_unpack_mx ( )

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_mx().

◆ blind_unpack_mx_v1()

MX casadi::DeserializerBase::blind_unpack_mx_v1 ( )

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_mx().

◆ blind_unpack_mx_vector()

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

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_mx_vector().

◆ blind_unpack_mx_vector_v1()

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

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_mx_vector().

◆ blind_unpack_sparsity()

Sparsity casadi::DeserializerBase::blind_unpack_sparsity ( )

◆ blind_unpack_sparsity_vector()

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

◆ blind_unpack_string()

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

◆ blind_unpack_string_vector()

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

◆ blind_unpack_sx()

SX casadi::DeserializerBase::blind_unpack_sx ( )

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_sx().

◆ blind_unpack_sx_v1()

SX casadi::DeserializerBase::blind_unpack_sx_v1 ( )

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_sx().

◆ blind_unpack_sx_vector()

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

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_sx_vector().

◆ blind_unpack_sx_vector_v1()

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

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 deserializer(), and casadi::DeserializingStream::unpack().

Referenced by unpack_sx_vector().

◆ connect()

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

Definition at line 301 of file serializer.cpp.

301  {
302  deserializer_->connect(*s.serializer_);
303  }

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

◆ deserializer()

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

Definition at line 129 of file serializer.cpp.

129  {
130  casadi_assert(dstream_->peek() != std::char_traits<char>::eof(),
131  "Deserializer reached end of stream. Nothing left to unpack.");
132  return *deserializer_;
133  }

References deserializer_, and dstream_.

Referenced by blind_unpack_mx(), blind_unpack_mx_v1(), blind_unpack_mx_vector(), blind_unpack_mx_vector_v1(), blind_unpack_sx(), blind_unpack_sx_v1(), blind_unpack_sx_vector(), blind_unpack_sx_vector_v1(), and pop_type().

◆ pop_type()

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

Definition at line 135 of file serializer.cpp.

135  {
136  char type;
137  deserializer().unpack(type);
138  return static_cast<SerializerBase::SerializationType>(type);
139  }

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

Referenced by casadi::Function::load(), unpack_mx(), unpack_mx_vector(), unpack_sx(), and unpack_sx_vector().

◆ reset()

void casadi::DeserializerBase::reset ( )

Definition at line 304 of file serializer.cpp.

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

References deserializer_.

◆ unpack_dm()

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

◆ unpack_dm_vector()

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

◆ unpack_double()

double casadi::DeserializerBase::unpack_double ( )

◆ unpack_double_vector()

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

◆ unpack_function()

Function casadi::DeserializerBase::unpack_function ( )

◆ unpack_function_vector()

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

◆ unpack_generictype()

GenericType casadi::DeserializerBase::unpack_generictype ( )

◆ unpack_generictype_vector()

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

◆ unpack_int()

casadi_int casadi::DeserializerBase::unpack_int ( )

◆ unpack_int_vector()

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

◆ unpack_linsol()

Linsol casadi::DeserializerBase::unpack_linsol ( )

◆ unpack_linsol_vector()

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

◆ unpack_mx()

MX casadi::DeserializerBase::unpack_mx ( )

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 blind_unpack_mx(), blind_unpack_mx_v1(), pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_mx_vector()

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

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 blind_unpack_mx_vector(), blind_unpack_mx_vector_v1(), pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_sparsity()

Sparsity casadi::DeserializerBase::unpack_sparsity ( )

◆ unpack_sparsity_vector()

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

◆ unpack_string()

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

◆ unpack_string_vector()

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

◆ unpack_sx()

SX casadi::DeserializerBase::unpack_sx ( )

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 blind_unpack_sx(), blind_unpack_sx_v1(), pop_type(), and casadi::SerializerBase::type_to_string().

◆ unpack_sx_vector()

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

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 blind_unpack_sx_vector(), blind_unpack_sx_vector_v1(), pop_type(), and casadi::SerializerBase::type_to_string().

Friends And Related Function Documentation

◆ SerializerBase

friend class SerializerBase
friend

Definition at line 117 of file serializer.hpp.

Member Data Documentation

◆ deserializer_

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

Definition at line 178 of file serializer.hpp.

Referenced by connect(), deserializer(), and reset().

◆ dstream_

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

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