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

120 { }

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

Referenced by unpack_mx().

◆ blind_unpack_mx_v1()

MX casadi::DeserializerBase::blind_unpack_mx_v1 ( )

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

Referenced by unpack_sx().

◆ blind_unpack_sx_v1()

SX casadi::DeserializerBase::blind_unpack_sx_v1 ( )

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

Referenced by unpack_sx_vector().

◆ connect()

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

Definition at line 300 of file serializer.cpp.

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

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

◆ deserializer()

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

Definition at line 128 of file serializer.cpp.

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

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

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

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

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

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 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 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 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 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 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 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 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 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(), casadi::StringDeserializer::decode(), deserializer(), and reset().

◆ dstream_

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

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