gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Types | Private Attributes | List of all members
Stats::MethodProxy< T, V > Class Template Reference

A proxy similar to the FunctorProxy, but allows calling a method of a bound object, instead of a global free-standing function. More...

#include <statistics.hh>

Inheritance diagram for Stats::MethodProxy< T, V >:
Stats::ProxyInfo Stats::ScalarInfo Stats::Info

Public Member Functions

 MethodProxy (T *obj, MethodPointer meth)
 
Counter value () const
 
Result result () const
 
Result total () const
 
- Public Member Functions inherited from Stats::ProxyInfo
std::string str () const
 
size_type size () const
 
bool check () const
 Check that this stat has been set up properly and is ready for use. More...
 
void prepare ()
 Prepare the stat for dumping. More...
 
void reset ()
 Reset the stat to the default state. More...
 
bool zero () const
 
void visit (Output &visitor)
 Visitor entry for outputing statistics data. More...
 
- Public Member Functions inherited from Stats::Info
 Info ()
 
virtual ~Info ()
 
void setName (const std::string &name)
 Set the name of this statistic. More...
 
void setName (const Group *parent, const std::string &name)
 
void setSeparator (std::string _sep)
 
bool baseCheck () const
 
virtual void enable ()
 Enable the stat for use. More...
 

Private Types

typedef V(T::* MethodPointer) () const
 

Private Attributes

T * object
 
MethodPointer method
 

Additional Inherited Members

- Static Public Member Functions inherited from Stats::Info
static bool less (Info *stat1, Info *stat2)
 Checks if the first stat's name is alphabetically less than the second. More...
 
- Public Attributes inherited from Stats::Info
std::string name
 The name of the stat. More...
 
std::string desc
 The description of the stat. More...
 
Flags flags
 The formatting flags. More...
 
int precision
 The display precision. More...
 
const Infoprereq
 A pointer to a prerequisite Stat. More...
 
int id
 
const StorageParamsstorageParams
 
- Static Public Attributes inherited from Stats::Info
static std::string separatorString = "::"
 The separator string used for vectors, dist, etc. More...
 
static int id_count = 0
 A unique stat ID for each stat in the simulator. More...
 

Detailed Description

template<class T, class V>
class Stats::MethodProxy< T, V >

A proxy similar to the FunctorProxy, but allows calling a method of a bound object, instead of a global free-standing function.

Definition at line 814 of file statistics.hh.

Member Typedef Documentation

◆ MethodPointer

template<class T, class V>
typedef V(T::* Stats::MethodProxy< T, V >::MethodPointer) () const
private

Definition at line 818 of file statistics.hh.

Constructor & Destructor Documentation

◆ MethodProxy()

template<class T, class V>
Stats::MethodProxy< T, V >::MethodProxy ( T *  obj,
MethodPointer  meth 
)
inline

Definition at line 822 of file statistics.hh.

Member Function Documentation

◆ result()

template<class T, class V>
Result Stats::MethodProxy< T, V >::result ( ) const
inlinevirtual

Implements Stats::ScalarInfo.

Definition at line 824 of file statistics.hh.

◆ total()

template<class T, class V>
Result Stats::MethodProxy< T, V >::total ( ) const
inlinevirtual

Implements Stats::ScalarInfo.

Definition at line 825 of file statistics.hh.

◆ value()

template<class T, class V>
Counter Stats::MethodProxy< T, V >::value ( ) const
inlinevirtual

Implements Stats::ScalarInfo.

Definition at line 823 of file statistics.hh.

Member Data Documentation

◆ method

template<class T, class V>
MethodPointer Stats::MethodProxy< T, V >::method
private

Definition at line 819 of file statistics.hh.

◆ object

template<class T, class V>
T* Stats::MethodProxy< T, V >::object
private

Definition at line 817 of file statistics.hh.


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

Generated on Mon Jun 8 2020 15:46:04 for gem5 by doxygen 1.8.13