mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
change serialization API so that it takes a FairMQMessage reference
This commit is contained in:
parent
4c50409af5
commit
835c88c6d2
|
@ -98,19 +98,20 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
||||||
}
|
}
|
||||||
|
|
||||||
//*
|
//*
|
||||||
template<typename Serializer, typename MessageType, typename DataType, typename... Args>
|
template<typename Serializer, typename DataType, typename... Args>
|
||||||
void Serialize(std::unique_ptr<FairMQMessage>& msg, DataType&& data, Args&&... args) const
|
void Serialize(FairMQMessage& msg, DataType&& data, Args&&... args) const
|
||||||
{
|
{
|
||||||
Serializer().Serialize(msg,std::forward<DataType>(data),std::forward<Args>(args)...);
|
Serializer().Serialize(msg,std::forward<DataType>(data),std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Deserializer, typename DataType, typename... Args>
|
template<typename Deserializer, typename DataType, typename... Args>
|
||||||
void Deserialize(std::unique_ptr<FairMQMessage>& msg, DataType&& data, Args&&... args) const
|
void Deserialize(FairMQMessage& msg, DataType&& data, Args&&... args) const
|
||||||
{
|
{
|
||||||
Deserializer().Deserialize(msg,std::forward<DataType>(data),std::forward<Args>(args)...);
|
Deserializer().Deserialize(msg,std::forward<DataType>(data),std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
// */
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
// temporary overload to handle the case of a return ref to FairMQMessage
|
// temporary overload to handle the case of a return ref to FairMQMessage
|
||||||
template<typename Serializer, typename MessageType, typename DataType>
|
template<typename Serializer, typename MessageType, typename DataType>
|
||||||
void Serialize(MessageType&& msg, DataType&& data) const
|
void Serialize(MessageType&& msg, DataType&& data) const
|
||||||
|
@ -124,7 +125,7 @@ class FairMQDevice : public FairMQStateMachine, public FairMQConfigurable
|
||||||
Deserializer().Deserialize(std::forward<MessageType>(msg), std::forward<DataType>(data));
|
Deserializer().Deserialize(std::forward<MessageType>(msg), std::forward<DataType>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// */
|
||||||
|
|
||||||
|
|
||||||
/// Shorthand method to receive `msg` on `chan` at index `i`
|
/// Shorthand method to receive `msg` on `chan` at index `i`
|
||||||
|
|
|
@ -81,6 +81,9 @@ class FairMQParts
|
||||||
/// @param index container index
|
/// @param index container index
|
||||||
inline std::unique_ptr<FairMQMessage>& At(const int index) { return fParts.at(index); }
|
inline std::unique_ptr<FairMQMessage>& At(const int index) { return fParts.at(index); }
|
||||||
|
|
||||||
|
|
||||||
|
inline FairMQMessage& At_ref(const int index) { return *(fParts.at(index)); }
|
||||||
|
|
||||||
template<typename Deserializer, typename DataType>
|
template<typename Deserializer, typename DataType>
|
||||||
inline void At(DataType&& data, const int index)
|
inline void At(DataType&& data, const int index)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user