1#ifndef FPMAS_DATA_UPDATE_PACK_H
2#define FPMAS_DATA_UPDATE_PACK_H
11namespace fpmas {
namespace synchro {
101 return {j[0].get<
DistributedId>(), j[1].get<T>(), j[2].get<
float>()};
115namespace fpmas {
namespace io {
namespace datapack {
155 T data = pack.
get<T>();
156 return {std::move(
id), std::move(data)};
175 + pack.
size<
float>();
Definition: distributed_id.h:89
Definition: datapack.h:301
std::size_t size() const
Definition: datapack.h:367
void put(const T &item)
Definition: datapack.h:447
T get() const
Definition: datapack.h:459
static void to_datapack(ObjectPack &pack, const DataUpdatePack< T > &data)
Definition: data_update_pack.h:142
static DataUpdatePack< T > from_datapack(const ObjectPack &pack)
Definition: data_update_pack.h:153
static std::size_t size(const ObjectPack &pack, const DataUpdatePack< T > &data)
Definition: data_update_pack.h:132
static NodeUpdatePack< T > from_datapack(const ObjectPack &pack)
Definition: data_update_pack.h:196
static std::size_t size(const ObjectPack &pack, const NodeUpdatePack< T > &data)
Definition: data_update_pack.h:173
static void to_datapack(ObjectPack &pack, const NodeUpdatePack< T > &data)
Definition: data_update_pack.h:184
Definition: datapack.h:55
Definition: data_update_pack.h:16
T updated_data
Definition: data_update_pack.h:24
DataUpdatePack(DistributedId id, const T &data)
Definition: data_update_pack.h:32
DistributedId id
Definition: data_update_pack.h:20
Definition: data_update_pack.h:41
NodeUpdatePack(DistributedId id, const T &data, float weight)
Definition: data_update_pack.h:54
float updated_weight
Definition: data_update_pack.h:45
static DataUpdatePack< T > from_json(const json &j)
Definition: data_update_pack.h:74
static void to_json(json &j, const DataUpdatePack< T > &data)
Definition: data_update_pack.h:84
static void to_json(json &j, const NodeUpdatePack< T > &data)
Definition: data_update_pack.h:109
static NodeUpdatePack< T > from_json(const json &j)
Definition: data_update_pack.h:100