base: Tag API methods in amo.hh
Change-Id: I8014d729611721dd15ee27a974acbab2744c5e82 Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33274 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -39,8 +39,13 @@
|
||||
|
||||
struct AtomicOpFunctor
|
||||
{
|
||||
/**
|
||||
* @ingroup api_atomic_op
|
||||
* @{
|
||||
*/
|
||||
virtual void operator()(uint8_t *p) = 0;
|
||||
virtual AtomicOpFunctor* clone() = 0;
|
||||
/** @} */ // end of api_atomic_op
|
||||
virtual ~AtomicOpFunctor() {}
|
||||
};
|
||||
|
||||
@@ -49,6 +54,9 @@ struct TypedAtomicOpFunctor : public AtomicOpFunctor
|
||||
{
|
||||
void operator()(uint8_t *p) { execute((T *)p); }
|
||||
virtual AtomicOpFunctor* clone() = 0;
|
||||
/**
|
||||
* @ingroup api_atomic_op
|
||||
*/
|
||||
virtual void execute(T * p) = 0;
|
||||
};
|
||||
|
||||
@@ -225,6 +233,9 @@ class AtomicOpMin : public TypedAtomicOpFunctor<T>
|
||||
AtomicOpFunctor* clone () { return new AtomicOpMin(a); }
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup api_atomic_op
|
||||
*/
|
||||
typedef std::unique_ptr<AtomicOpFunctor> AtomicOpFunctorPtr;
|
||||
|
||||
#endif // __BASE_AMO_HH__
|
||||
|
||||
Reference in New Issue
Block a user