11#include <framework/pcore/Mergeable.h>
35 template <
class T>
class SetMergeable :
public Mergeable {
39 virtual ~SetMergeable() { }
56 virtual void merge(
const Mergeable* other)
override
58 auto* otherMergeable =
static_cast<const SetMergeable*
>(other);
59 for (
const auto& element : otherMergeable->get()) {
SetMergeable(Args &&... params)
Constructor, forwards all arguments to T constructor.
virtual void merge(const Mergeable *other) override
Merge object 'other' into this one.
T m_wrapped
Wrapped object.
virtual void clear() override
Clear content of this object (e.g.
const T & get() const
Get the wrapped standard object.
ClassDefOverride(SetMergeable, 1)
Wrap an STL set to make it mergeable.
T & get()
Get the wrapped standard object.
Abstract base class for different kinds of events.