List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
casadi::SerializerBase Class Reference

#include <serializer.hpp>

Detailed Description

Definition at line 48 of file serializer.hpp.

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

Public Types

enum  SerializationType {
  SERIALIZED_SPARSITY , SERIALIZED_MX_v1 , SERIALIZED_DM , SERIALIZED_SX_v1 ,
  SERIALIZED_LINSOL , SERIALIZED_FUNCTION , SERIALIZED_GENERICTYPE , SERIALIZED_INT ,
  SERIALIZED_DOUBLE , SERIALIZED_STRING , SERIALIZED_SPARSITY_VECTOR , SERIALIZED_MX_VECTOR_v1 ,
  SERIALIZED_DM_VECTOR , SERIALIZED_SX_VECTOR_v1 , SERIALIZED_LINSOL_VECTOR , SERIALIZED_FUNCTION_VECTOR ,
  SERIALIZED_GENERICTYPE_VECTOR , SERIALIZED_INT_VECTOR , SERIALIZED_DOUBLE_VECTOR , SERIALIZED_STRING_VECTOR ,
  SERIALIZED_MX , SERIALIZED_SX , SERIALIZED_MX_VECTOR , SERIALIZED_SX_VECTOR
}
 

Public Member Functions

 SerializerBase (std::unique_ptr< std::ostream > stream, const Dict &opts=Dict())
 
 ~SerializerBase ()
 
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

SerializingStreamserializer ()
 

Protected Attributes

std::unique_ptr< std::ostream > sstream_
 
std::unique_ptr< SerializingStreamserializer_
 

Friends

class DeserializerBase
 

Member Enumeration Documentation

◆ SerializationType

Enumerator
SERIALIZED_SPARSITY 
SERIALIZED_MX_v1 
SERIALIZED_DM 
SERIALIZED_SX_v1 
SERIALIZED_LINSOL 
SERIALIZED_FUNCTION 
SERIALIZED_GENERICTYPE 
SERIALIZED_INT 
SERIALIZED_DOUBLE 
SERIALIZED_STRING 
SERIALIZED_SPARSITY_VECTOR 
SERIALIZED_MX_VECTOR_v1 
SERIALIZED_DM_VECTOR 
SERIALIZED_SX_VECTOR_v1 
SERIALIZED_LINSOL_VECTOR 
SERIALIZED_FUNCTION_VECTOR 
SERIALIZED_GENERICTYPE_VECTOR 
SERIALIZED_INT_VECTOR 
SERIALIZED_DOUBLE_VECTOR 
SERIALIZED_STRING_VECTOR 
SERIALIZED_MX 
SERIALIZED_SX 
SERIALIZED_MX_VECTOR 
SERIALIZED_SX_VECTOR 

Definition at line 78 of file serializer.hpp.

78  {
103  };

Constructor & Destructor Documentation

◆ SerializerBase()

casadi::SerializerBase::SerializerBase ( std::unique_ptr< std::ostream >  stream,
const Dict opts = Dict() 
)

Definition at line 49 of file serializer.cpp.

49  :
50  sstream_(std::move(stream)),
51  serializer_(new SerializingStream(*sstream_, opts)) {
52  }
std::unique_ptr< SerializingStream > serializer_
Definition: serializer.hpp:113
std::unique_ptr< std::ostream > sstream_
Definition: serializer.hpp:112

◆ ~SerializerBase()

casadi::SerializerBase::~SerializerBase ( )

Definition at line 100 of file serializer.cpp.

100 { }

Member Function Documentation

◆ connect()

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

Definition at line 295 of file serializer.cpp.

295  {
296  serializer_->connect(*s.deserializer_);
297  }

References connect().

Referenced by connect().

◆ pack() [1/20]

void casadi::SerializerBase::pack ( const casadi_int &  e)

◆ pack() [2/20]

void casadi::SerializerBase::pack ( const double &  e)

◆ pack() [3/20]

void casadi::SerializerBase::pack ( const Function e)

◆ pack() [4/20]

void casadi::SerializerBase::pack ( const GenericType e)

◆ pack() [5/20]

void casadi::SerializerBase::pack ( const Linsol e)

◆ pack() [6/20]

void casadi::SerializerBase::pack ( const Matrix< double > &  e)

◆ pack() [7/20]

void casadi::SerializerBase::pack ( const Matrix< SXElem > &  e)

◆ pack() [8/20]

void casadi::SerializerBase::pack ( const MX e)

Definition at line 141 of file serializer.cpp.

141  {
142  serializer().pack(static_cast<char>(SERIALIZED_MX));
144  serializer().pack(e);
145  }
static std::vector< SX > order(const std::vector< SX > &expr)
Definition: function.cpp:1938
SerializingStream & serializer()
Definition: serializer.cpp:125
void pack(const Sparsity &e)
Serializes an object to the output stream.

References casadi::Function::order(), casadi::SerializingStream::pack(), SERIALIZED_MX, and serializer().

◆ pack() [9/20]

void casadi::SerializerBase::pack ( const Sparsity e)

◆ pack() [10/20]

void casadi::SerializerBase::pack ( const std::string &  e)

◆ pack() [11/20]

void casadi::SerializerBase::pack ( const std::vector< casadi_int > &  e)

◆ pack() [12/20]

void casadi::SerializerBase::pack ( const std::vector< double > &  e)

◆ pack() [13/20]

void casadi::SerializerBase::pack ( const std::vector< Function > &  e)

◆ pack() [14/20]

void casadi::SerializerBase::pack ( const std::vector< GenericType > &  e)

◆ pack() [15/20]

void casadi::SerializerBase::pack ( const std::vector< Linsol > &  e)

◆ pack() [16/20]

void casadi::SerializerBase::pack ( const std::vector< Matrix< double > > &  e)

◆ pack() [17/20]

void casadi::SerializerBase::pack ( const std::vector< Matrix< SXElem > > &  e)

◆ pack() [18/20]

void casadi::SerializerBase::pack ( const std::vector< MX > &  e)

Definition at line 146 of file serializer.cpp.

146  {
147  serializer().pack(static_cast<char>(SERIALIZED_MX_VECTOR));
149  serializer().pack(e);
150  }

References casadi::Function::order(), casadi::SerializingStream::pack(), SERIALIZED_MX_VECTOR, and serializer().

◆ pack() [19/20]

void casadi::SerializerBase::pack ( const std::vector< Sparsity > &  e)

◆ pack() [20/20]

void casadi::SerializerBase::pack ( const std::vector< std::string > &  e)

◆ reset()

void casadi::SerializerBase::reset ( )

Definition at line 298 of file serializer.cpp.

298  {
299  serializer_->reset();
300  }

References serializer_.

◆ serializer()

SerializingStream & casadi::SerializerBase::serializer ( )
protected

Definition at line 125 of file serializer.cpp.

125  {
126  return *serializer_;
127  }

References serializer_.

Referenced by pack().

◆ type_to_string()

std::string casadi::SerializerBase::type_to_string ( SerializationType  type)
static

Definition at line 54 of file serializer.cpp.

54  {
55  switch (type) {
56  case SERIALIZED_SPARSITY: return "sparsity";
57  case SERIALIZED_MX: return "mx";
58  case SERIALIZED_MX_v1: return "mx_v1";
59  case SERIALIZED_DM: return "dm";
60  case SERIALIZED_SX: return "sx";
61  case SERIALIZED_SX_v1: return "sx_v1";
62  case SERIALIZED_LINSOL: return "linsol";
63  case SERIALIZED_FUNCTION: return "function";
64  case SERIALIZED_GENERICTYPE: return "generictype";
65  case SERIALIZED_INT: return "int";
66  case SERIALIZED_DOUBLE: return "double";
67  case SERIALIZED_STRING: return "string";
68  case SERIALIZED_SPARSITY_VECTOR: return "sparsity_vector";
69  case SERIALIZED_MX_VECTOR: return "mx_vector";
70  case SERIALIZED_MX_VECTOR_v1: return "mx_vector_v1";
71  case SERIALIZED_DM_VECTOR: return "dm_vector";
72  case SERIALIZED_SX_VECTOR: return "sx_vector";
73  case SERIALIZED_SX_VECTOR_v1: return "sx_vector_v1";
74  case SERIALIZED_LINSOL_VECTOR: return "linsol_vector";
75  case SERIALIZED_FUNCTION_VECTOR: return "function_vector";
76  case SERIALIZED_GENERICTYPE_VECTOR: return "generictype_vector";
77  case SERIALIZED_INT_VECTOR: return "int_vector";
78  case SERIALIZED_DOUBLE_VECTOR: return "double_vector";
79  case SERIALIZED_STRING_VECTOR: return "string_vector";
80  default: casadi_error("Unknown type" + str(type));
81  }
82  }
std::string str(const T &v)
String representation, any type.

References SERIALIZED_DM, SERIALIZED_DM_VECTOR, SERIALIZED_DOUBLE, SERIALIZED_DOUBLE_VECTOR, SERIALIZED_FUNCTION, SERIALIZED_FUNCTION_VECTOR, SERIALIZED_GENERICTYPE, SERIALIZED_GENERICTYPE_VECTOR, SERIALIZED_INT, SERIALIZED_INT_VECTOR, SERIALIZED_LINSOL, SERIALIZED_LINSOL_VECTOR, SERIALIZED_MX, SERIALIZED_MX_v1, SERIALIZED_MX_VECTOR, SERIALIZED_MX_VECTOR_v1, SERIALIZED_SPARSITY, SERIALIZED_SPARSITY_VECTOR, SERIALIZED_STRING, SERIALIZED_STRING_VECTOR, SERIALIZED_SX, SERIALIZED_SX_v1, SERIALIZED_SX_VECTOR, 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().

Friends And Related Function Documentation

◆ DeserializerBase

friend class DeserializerBase
friend

Definition at line 49 of file serializer.hpp.

Member Data Documentation

◆ serializer_

std::unique_ptr<SerializingStream> casadi::SerializerBase::serializer_
protected

Definition at line 113 of file serializer.hpp.

Referenced by casadi::DeserializerBase::connect(), reset(), and serializer().

◆ sstream_

std::unique_ptr<std::ostream> casadi::SerializerBase::sstream_
protected

Definition at line 112 of file serializer.hpp.

Referenced by casadi::StringSerializer::encode().


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