gem5  v21.1.0.2
Public Member Functions | Private Attributes | List of all members
gem5::AtomicGeneric3Op< T > Class Template Reference

#include <amo.hh>

Inheritance diagram for gem5::AtomicGeneric3Op< T >:
gem5::TypedAtomicOpFunctor< T > gem5::AtomicOpFunctor

Public Member Functions

 AtomicGeneric3Op (T _a, T _c, std::function< void(T *, T, T)> _op)
 
AtomicOpFunctorclone () override
 
void execute (T *b) override
 
- Public Member Functions inherited from gem5::TypedAtomicOpFunctor< T >
void operator() (uint8_t *p)
 
- Public Member Functions inherited from gem5::AtomicOpFunctor
virtual ~AtomicOpFunctor ()
 

Private Attributes

a
 
c
 
std::function< void(T *, T, T)> op
 

Detailed Description

template<typename T>
class gem5::AtomicGeneric3Op< T >

Definition at line 87 of file amo.hh.

Constructor & Destructor Documentation

◆ AtomicGeneric3Op()

template<typename T >
gem5::AtomicGeneric3Op< T >::AtomicGeneric3Op ( _a,
_c,
std::function< void(T *, T, T)>  _op 
)
inline

Definition at line 90 of file amo.hh.

Member Function Documentation

◆ clone()

template<typename T >
AtomicOpFunctor* gem5::AtomicGeneric3Op< T >::clone ( )
inlineoverridevirtual

Implements gem5::TypedAtomicOpFunctor< T >.

Definition at line 93 of file amo.hh.

◆ execute()

template<typename T >
void gem5::AtomicGeneric3Op< T >::execute ( T *  b)
inlineoverridevirtual

Member Data Documentation

◆ a

template<typename T >
T gem5::AtomicGeneric3Op< T >::a
private

Definition at line 102 of file amo.hh.

Referenced by gem5::AtomicGeneric3Op< T >::execute().

◆ c

template<typename T >
T gem5::AtomicGeneric3Op< T >::c
private

Definition at line 103 of file amo.hh.

Referenced by gem5::AtomicGeneric3Op< T >::execute().

◆ op

template<typename T >
std::function<void(T*, T, T)> gem5::AtomicGeneric3Op< T >::op
private

Definition at line 104 of file amo.hh.

Referenced by gem5::AtomicGeneric3Op< T >::execute().


The documentation for this class was generated from the following file:

Generated on Tue Sep 21 2021 12:27:17 for gem5 by doxygen 1.8.17