|
Enrollment 28.2.0
|
Provides interface for serialization of all classes. More...
#include <Writer.h>
Public Member Functions | |
| virtual void | Write (const char *name, const Serializable &s)=0 |
| Serialize serializable. | |
| virtual void | WriteRoot (Serializable &s)=0 |
| Serialize serializable as root object. | |
| virtual void | Write (const char *name, const char *value)=0 |
| Serialize string. | |
| virtual void | Write (const char *name, int value)=0 |
| Serialize int. | |
| virtual void | Write (const char *name, unsigned int value)=0 |
| Serialize unsigned int. | |
| virtual void | Write (const char *name, double value)=0 |
| Serialize double. | |
| virtual void | Write (const char *name, int64_t value)=0 |
| Serialize int64_t integer. | |
| virtual void | Write (const char *name, uint64_t value)=0 |
| Serialize uint64_t integer. | |
| virtual void | Write (const char *name, const std::shared_ptr< Image > &value)=0 |
| Serialize Image. | |
| virtual void | WriteNull (const char *name)=0 |
| Serialize null object. | |
| void | WriteArray (const char *name, const std::vector< uint8_t > &value) |
| Serialize bytes from vector. | |
| void | SetBytesStrategy (BytesWriterStrategy &s) |
| Set bytes serialization strategy . | |
| template<typename T> | |
| void | WriteArray (const char *name, const T &array) |
| Serialize array of elements that are suitable for range-based for loop. | |
| void | Write (const char *name, const std::shared_ptr< const Serializable > &s) |
| Serialize const serializable given as shared_ptr. | |
| template<typename T> | |
| void | Write (const char *name, const std::optional< T > &s) |
| Serialize serializable given as shared_ptr. | |
Provides interface for serialization of all classes.
Interfaces Writer,BytesWriterStrategy are defined for client extension. When client needs own serialization then client implements Writer interface and provide it as Writer for library classes. When client needs to modify only bytes serialization, client implements BytesWriterStrategy interface and sets it into Writer. The library itself provides JSON implementation in class JsonWriter. Each class in library that can be serialized must inherit Serializable interface.
|
inline |
Set bytes serialization strategy .
| s | strategy to serialize bytes |
|
pure virtual |
|
pure virtual |
Serialize serializable.
| name | name of serializable |
| s | class that implements Serializable interface |
Implemented in JsonWriter.
Referenced by Write(), Write(), ExtractedFace::WriteTo(), ExtractedIris::WriteTo(), ICSTemplate::WriteTo(), IrisTemplate::WriteTo(), and PrintDetectorConfig::WriteTo().
|
inline |
Serialize serializable given as shared_ptr.
| name | name of serializable |
| s | class that implements Serializable interface |
References Write(), and WriteNull().
|
inline |
Serialize const serializable given as shared_ptr.
| name | name of serializable |
| s | class that implements Serializable interface |
References Write(), and WriteNull().
|
pure virtual |
Serialize Image.
Once the image serialization needs to be modified e.g. all images are serialized in specific format, then strategy can be used similar as BytesWriterStrategy.
| name | name of value (key) |
| value | Image |
Implemented in JsonWriter.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Serialize int64_t integer.
| name | name of value (key) |
| value | unsigned integer value |
Implemented in JsonWriter.
|
pure virtual |
Serialize uint64_t integer.
| name | name of value (key) |
| value | unsigned integer value |
Implemented in JsonWriter.
|
pure virtual |
Serialize unsigned int.
| name | name of value (key) |
| value | unsigned integer value |
Implemented in JsonWriter.
|
inline |
Serialize bytes from vector.
It uses BytesWriterStrategy to serialize bytes. The strategy can be set by SetBytesStrategy function.
| name | name of value (key) |
| value | vector of bytes |
Referenced by JsonWriter::Write(), EmbeddingTemplate::WriteTo(), FaceTemplate::WriteTo(), ICSTemplate::WriteTo(), IrisTemplate::WriteTo(), ModalitiesICSTemplate::WriteTo(), and ModalitiesTemplate::WriteTo().
| void WriteArray | ( | const char * | name, |
| const T & | array ) |
Serialize array of elements that are suitable for range-based for loop.
| name | name of value (key) |
| array | array suitable for range-based for loop. |
| T | type suitable for range-based for loop. |
|
pure virtual |
Serialize null object.
| name | name of value (key) |
Implemented in JsonWriter.
Referenced by Write(), and Write().
|
pure virtual |
Serialize serializable as root object.
| s | class that implements Serializable interface |
Implemented in JsonWriter.