Serialization (reference)#

See Serialization format for the format.

enum ng::serialization::Bounds

Values:

enumerator graph
enumerator whitelist
enumerator callbacks
enumerator sockets
enumerator nodes
enumerator links
enumerator interface
using ng::serialization::len_t = uint64_t
using ng::serialization::buffer_t = std::vector<char>
using ng::serialization::bound_t = uint8_t
using ng::serialization::version_t = std::array<char, 3>
constexpr std::size_t ng::serialization::LEN = sizeof(len_t)
inline std::string ng::serialization::app_name()
inline version_t ng::serialization::parser_version()
bool ng::serialization::is_sup_or_equal(const version_t &a, const version_t &b)
Returns:

true if a is a version greater than or equal to b.

void ng::serialization::add_length_prefix(buffer_t &buffer)

Inserts at the beginning of the buffer its total length (prefix included).

void ng::serialization::serialize(buffer_t &buffer, len_t l)
void ng::serialization::serialize(buffer_t &buffer, bound_t b)
void ng::serialization::serialize(buffer_t &buffer, bool s)
void ng::serialization::serialize(buffer_t &buffer, socket_t type)
void ng::serialization::serialize_bytes(buffer_t &buffer, const char *s, len_t l)

Writes l bytes from s, prefixed by l.

void ng::serialization::serialize(buffer_t &buffer, const std::string &s)
template<std::size_t N>
void ng::serialization::serialize(buffer_t &buffer, const std::array<char, N> &identifier)
void ng::serialization::serialize(buffer_t &buffer, const qualifier_t &qualifier)
void ng::serialization::serialize(buffer_t &buffer, const socket_uuid_t &socket_uuid)
void ng::serialization::serialize_socket_base(buffer_t &buffer, const Socket &socket)

Attributes shared by input and output sockets, without length prefix.

void ng::serialization::serialize(buffer_t &buffer, const InputSocket &socket)
void ng::serialization::serialize(buffer_t &buffer, const OutputSocket &socket)
void ng::serialization::serialize(buffer_t &buffer, const Node &node)
void ng::serialization::serialize(buffer_t &buffer, const Graph::InterfaceProperties &interface_ppts)
template<typename T>
void ng::serialization::serialize(buffer_t &buffer, const std::set<T> &collection, bound_t bound)
template<typename U, typename V>
void ng::serialization::serialize(buffer_t &buffer, const std::map<U, V> &collection, bound_t bound)
class Serializer#
#include <serialization.h>

Public Functions

Serializer(const Graph &graph)#
Throws:

std::runtime_error – if the graph doesn’t have a qualifier.

void serialize_graph()#
inline version_t get_parser_version() const#
inline std::string get_app_name() const#
inline const buffer_t &get_buffer() const#