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:
Hoa Nguyen
2020-08-23 22:06:50 -07:00
parent 7b5409d1e8
commit 7d056a5dce

View File

@@ -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__