32#ifndef __BASE_AMO_HH__
33#define __BASE_AMO_HH__
83 std::function<void(T*,T)>
op;
91 :
a(_a),
c(_c),
op(_op)
104 std::function<void(T*, T, T)>
op;
112 std::function<
void(T*, std::array<T, 2>&, std::array<T, 2>)> _op)
113 :
a(_a),
c(_c),
op(_op)
126 std::function<void(T*, std::array<T, 2>&, std::array<T, 2>)>
op;
134 typename std::enable_if<std::is_integral<B>::value,
void>
::type
138 typename std::enable_if<!std::is_integral<B>::value,
void>
::type
153 typename std::enable_if<std::is_integral<B>::value,
void>
::type
157 typename std::enable_if<!std::is_integral<B>::value,
void>
::type
172 typename std::enable_if<std::is_integral<B>::value,
void>
::type
176 typename std::enable_if<!std::is_integral<B>::value,
void>
::type
void execute(T *b) override
AtomicOpFunctor * clone() override
std::function< void(T *, T)> op
AtomicGeneric2Op(T _a, std::function< void(T *, T)> _op)
AtomicOpFunctor * clone() override
AtomicGeneric3Op(T _a, T _c, std::function< void(T *, T, T)> _op)
std::function< void(T *, T, T)> op
void execute(T *b) override
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
std::function< void(T *, std::array< T, 2 > &, std::array< T, 2 >)> op
AtomicOpFunctor * clone() override
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
std::enable_if<!std::is_integral< B >::value, void >::type executeImpl(B *b)
std::enable_if< std::is_integral< B >::value, void >::type executeImpl(B *b)
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
AtomicOpFunctor * clone()
std::enable_if<!std::is_integral< B >::value, void >::type executeImpl(B *b)
AtomicOpFunctor * clone()
std::enable_if< std::is_integral< B >::value, void >::type executeImpl(B *b)
AtomicOpFunctor * clone()
std::enable_if<!std::is_integral< B >::value, void >::type executeImpl(B *b)
std::enable_if< std::is_integral< B >::value, void >::type executeImpl(B *b)
AtomicOpFunctor * clone()
virtual AtomicOpFunctor * clone()=0
std::unique_ptr< AtomicOpFunctor > AtomicOpFunctorPtr
virtual void execute(T *p)=0
virtual void operator()(uint8_t *p)=0
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
virtual ~AtomicOpFunctor()
void operator()(uint8_t *p)
virtual AtomicOpFunctor * clone()=0