summaryrefslogtreecommitdiff
path: root/src/base/types.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/types.hh')
-rw-r--r--src/base/types.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/base/types.hh b/src/base/types.hh
index 05a29f8bd..d07c370ab 100644
--- a/src/base/types.hh
+++ b/src/base/types.hh
@@ -191,6 +191,7 @@ constexpr decltype(nullptr) NoFault = nullptr;
struct AtomicOpFunctor
{
virtual void operator()(uint8_t *p) = 0;
+ virtual AtomicOpFunctor* clone() = 0;
virtual ~AtomicOpFunctor() {}
};
@@ -198,6 +199,7 @@ template <class T>
struct TypedAtomicOpFunctor : public AtomicOpFunctor
{
void operator()(uint8_t *p) { execute((T *)p); }
+ virtual AtomicOpFunctor* clone() = 0;
virtual void execute(T * p) = 0;
};