32 #ifndef __BASE_AMO_HH__ 33 #define __BASE_AMO_HH__ 52 virtual void execute(T *
p) = 0;
72 std::function<void(T*,T)>
op;
80 :
a(_a),
c(_c),
op(_op)
93 std::function<void(T*, T, T)>
op;
101 std::function<
void(T*, std::array<T, 2>&, std::array<T, 2>)> _op)
102 :
a(_a),
c(_c),
op(_op)
115 std::function<void(T*, std::array<T, 2>&, std::array<T, 2>)>
op;
230 #endif // __BASE_AMO_HH__ void operator()(uint8_t *p)
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
std::unique_ptr< AtomicOpFunctor > AtomicOpFunctorPtr
AtomicGenericPair3Op(std::array< T, 2 > &_a, std::array< T, 2 > _c, std::function< void(T *, std::array< T, 2 > &, std::array< T, 2 >)> _op)
void execute(T *b) override
void execute(T *b) override
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
std::function< void(T *, T, T)> op
virtual ~AtomicOpFunctor()
virtual void operator()(uint8_t *p)=0
AtomicOpFunctor * clone() override
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
virtual AtomicOpFunctor * clone()=0
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
std::function< void(T *, T)> op
AtomicOpFunctor * clone() override
AtomicOpFunctor * clone()
void execute(T *b) override
AtomicOpFunctor * clone() override
AtomicGeneric3Op(T _a, T _c, std::function< void(T *, T, T)> _op)
AtomicOpFunctor * clone()
AtomicGeneric2Op(T _a, std::function< void(T *, T)> _op)