1#ifndef FPMAS_MODEL_SERIALIZER_H
2#define FPMAS_MODEL_SERIALIZER_H
22#define FPMAS_AGENT_PTR_DATAPACK_JSON_FALLBACK()\
23 namespace fpmas { namespace io { namespace datapack {\
24 std::size_t Serializer<AgentPtr>::size(const ObjectPack& p, const AgentPtr& ptr) {\
25 return JsonSerializer<AgentPtr>::size(p, ptr);\
27 void Serializer<AgentPtr>::to_datapack(ObjectPack& p, const AgentPtr& ptr) {\
28 JsonSerializer<AgentPtr>::to_datapack(p, ptr);\
30 AgentPtr Serializer<AgentPtr>::from_datapack(const ObjectPack& p) {\
31 return JsonSerializer<AgentPtr>::from_datapack(p);\
33 std::size_t LightSerializer<AgentPtr>::size(const LightObjectPack& p, const AgentPtr& ptr) {\
34 return LightJsonSerializer<AgentPtr>::size(p, ptr);\
36 void LightSerializer<AgentPtr>::to_datapack(LightObjectPack& p, const AgentPtr& ptr) {\
37 LightJsonSerializer<AgentPtr>::to_datapack(p, ptr);\
39 AgentPtr LightSerializer<AgentPtr>::from_datapack(const LightObjectPack& p) {\
40 return LightJsonSerializer<AgentPtr>::from_datapack(p);\
54#define FPMAS_AGENT_PTR_JSON_DATAPACK_FALLBACK()\
56 void adl_serializer<fpmas::api::model::AgentPtr>\
57 ::to_json(json& j, const fpmas::api::model::AgentPtr& ptr) {\
58 fpmas::io::json::datapack_serializer<fpmas::api::model::AgentPtr>\
61 fpmas::api::model::AgentPtr adl_serializer<fpmas::api::model::AgentPtr>\
62 ::from_json(const json& j) {\
63 return fpmas::io::json::datapack_serializer<fpmas::api::model::AgentPtr>\
67 namespace fpmas { namespace io { namespace json {\
68 void light_serializer<api::model::AgentPtr>\
69 ::to_json(light_json& j, const api::model::AgentPtr& ptr) {\
70 fpmas::io::json::light_datapack_serializer<api::model::AgentPtr>\
73 api::model::AgentPtr light_serializer<api::model::AgentPtr>\
74 ::from_json(const light_json& j) {\
75 return fpmas::io::json::light_datapack_serializer<api::model::AgentPtr>\
122#define FPMAS_JSON_SET_UP(...)\
123 FPMAS_BASE_JSON_SET_UP(__VA_ARGS__)\
124 FPMAS_AGENT_PTR_DATAPACK_JSON_FALLBACK()
130#define FPMAS_DEFAULT_JSON_SET_UP()\
131 FPMAS_BASE_DEFAULT_JSON_SET_UP()\
132 FPMAS_BASE_DEFAULT_DATAPACK_SET_UP()
176#define FPMAS_DATAPACK_SET_UP(...)\
177 FPMAS_BASE_DATAPACK_SET_UP(__VA_ARGS__)\
178 FPMAS_AGENT_PTR_JSON_DATAPACK_FALLBACK()
184#define FPMAS_DEFAULT_DATAPACK_SET_UP()\
185 FPMAS_BASE_DEFAULT_DATAPACK_SET_UP()\
186 FPMAS_BASE_DEFAULT_JSON_SET_UP()
214#define FPMAS_REGISTER_AGENT_TYPES(...)\
215 fpmas::register_types<__VA_ARGS__ , void>();
218 template<
typename _T,
typename... T>
242 template<
typename _T,
typename... T>
void register_types< void >()
Definition: serializer.cpp:5
void register_types()
Definition: serializer.h:243
Definition: datapack.h:55
static FPMAS_TYPE_INDEX register_type(const std::type_index &type)
Definition: json_serializer.h:177