10 #define FAIRMQPARTS_H_ 12 #include "FairMQTransportFactory.h" 13 #include "FairMQMessage.h" 23 using container = std::vector<std::unique_ptr<FairMQMessage>>;
41 fParts.push_back(std::unique_ptr<FairMQMessage>(msg));
55 void AddPart(std::unique_ptr<FairMQMessage>&& msg)
57 fParts.push_back(std::move(msg));
66 std::unique_ptr<FairMQMessage>&
At(
const int index) {
return fParts.at(index); }
69 FairMQMessage& AtRef(
const int index) {
return *(fParts.at(index)); }
73 int Size()
const {
return fParts.size(); }
78 using iterator = container::iterator;
79 using const_iterator = container::const_iterator;
80 auto begin() -> decltype(fParts.begin()) {
return fParts.begin(); }
81 auto end() -> decltype(fParts.end()) {
return fParts.end(); }
82 auto cbegin() -> decltype(fParts.cbegin()) {
return fParts.cbegin(); }
83 auto cend() -> decltype(fParts.cend()) {
return fParts.cend(); }
~FairMQParts()
Default destructor.
Definition: FairMQParts.h:35
FairMQMessage & operator[](const int index)
Definition: FairMQParts.h:62
void AddPart(FairMQMessage *msg)
Definition: FairMQParts.h:39
FairMQParts & operator=(const FairMQParts &)=delete
Assignment operator.
std::unique_ptr< FairMQMessage > & At(const int index)
Definition: FairMQParts.h:66
void AddPart(std::unique_ptr< FairMQMessage > &&msg)
Definition: FairMQParts.h:55
int Size() const
Definition: FairMQParts.h:73
FairMQParts is a lightweight convenience wrapper around a vector of unique pointers to FairMQMessage...
Definition: FairMQParts.h:20
FairMQParts()
Default constructor.
Definition: FairMQParts.h:27
Definition: FairMQMessage.h:19