gem5  v21.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
Stats::ValueBase< Derived > Class Template Reference

#include <statistics.hh>

Inheritance diagram for Stats::ValueBase< Derived >:
Stats::DataWrap< Derived, ScalarInfoProxy > Stats::InfoAccess

Public Member Functions

 ValueBase (Group *parent, const char *name, const Units::Base *unit, const char *desc)
 
 ~ValueBase ()
 
template<class T >
Derived & scalar (T &value)
 
template<class T >
Derived & functor (const T &func)
 
template<class T >
Derived & functor (T &func)
 
template<class T , class V >
Derived & method (T *obj, V(T::*method)() const)
 Extended functor that calls the specified method of the provided object. More...
 
Counter value ()
 
Result result () const
 
Result total () const
 
size_type size () const
 
std::string str () const
 
bool zero () const
 
bool check () const
 
void prepare ()
 
void reset ()
 
- Public Member Functions inherited from Stats::DataWrap< Derived, ScalarInfoProxy >
const Infoinfo () const
 
 DataWrap ()=delete
 
 DataWrap (const DataWrap &)=delete
 
 DataWrap (Group *parent, const char *name, const Units::Base *unit, const char *desc)
 
DataWrapoperator= (const DataWrap &)=delete
 
Derived & name (const std::string &name)
 Set the name and marks this stat to print at the end of simulation. More...
 
const std::string & name () const
 
Derived & setSeparator (const std::string &_sep)
 Set the character(s) used between the name and vector number on vectors, dist, etc. More...
 
const std::string & setSeparator () const
 
Derived & unit (const Units::Base *_unit)
 Set the unit of the stat. More...
 
Derived & desc (const std::string &_desc)
 Set the description and marks this stat to print at the end of simulation. More...
 
Derived & precision (int _precision)
 Set the precision and marks this stat to print at the end of simulation. More...
 
Derived & flags (Flags _flags)
 Set the flags and marks this stat to print at the end of simulation. More...
 
Derived & prereq (const Stat &prereq)
 Set the prerequisite stat and marks this stat to print at the end of simulation. More...
 
- Public Member Functions inherited from Stats::InfoAccess
 InfoAccess ()
 
void reset ()
 Reset the stat to the default state. More...
 
bool zero () const
 
bool check () const
 Check that this stat has been set up properly and is ready for use. More...
 

Private Attributes

ProxyInfoproxy
 

Additional Inherited Members

- Public Types inherited from Stats::DataWrap< Derived, ScalarInfoProxy >
typedef ScalarInfoProxy< Derived > Info
 
- Protected Member Functions inherited from Stats::DataWrap< Derived, ScalarInfoProxy >
Derived & self ()
 
Infoinfo ()
 
- Protected Member Functions inherited from Stats::InfoAccess
void setInfo (Group *parent, Info *info)
 Set up an info class for this statistic. More...
 
void setParams (const StorageParams *params)
 Save Storage class parameters if any. More...
 
void setInit ()
 Save Storage class parameters if any. More...
 
Infoinfo ()
 Grab the information class for this statistic. More...
 
const Infoinfo () const
 Grab the information class for this statistic. More...
 

Detailed Description

template<class Derived>
class Stats::ValueBase< Derived >

Definition at line 695 of file statistics.hh.

Constructor & Destructor Documentation

◆ ValueBase()

template<class Derived >
Stats::ValueBase< Derived >::ValueBase ( Group parent,
const char *  name,
const Units::Base unit,
const char *  desc 
)
inline

Definition at line 701 of file statistics.hh.

◆ ~ValueBase()

template<class Derived >
Stats::ValueBase< Derived >::~ValueBase ( )
inline

Definition at line 709 of file statistics.hh.

Member Function Documentation

◆ check()

template<class Derived >
bool Stats::ValueBase< Derived >::check ( ) const
inline

Definition at line 761 of file statistics.hh.

◆ functor() [1/2]

template<class Derived >
template<class T >
Derived& Stats::ValueBase< Derived >::functor ( const T &  func)
inline

◆ functor() [2/2]

template<class Derived >
template<class T >
Derived& Stats::ValueBase< Derived >::functor ( T &  func)
inline

Definition at line 731 of file statistics.hh.

◆ method()

template<class Derived >
template<class T , class V >
Derived& Stats::ValueBase< Derived >::method ( T *  obj,
V(T::*)() const  method 
)
inline

Extended functor that calls the specified method of the provided object.

Parameters
objPointer to the object whose method should be called.
methodPointer of the function / method of the object.
Returns
Updated stats item.

Definition at line 747 of file statistics.hh.

Referenced by Stats::ValueBase< Value >::method(), PowerModel::PowerModel(), PowerModelState::PowerModelState(), and VoltageDomain::VoltageDomainStats::VoltageDomainStats().

◆ prepare()

template<class Derived >
void Stats::ValueBase< Derived >::prepare ( )
inline

Definition at line 762 of file statistics.hh.

◆ reset()

template<class Derived >
void Stats::ValueBase< Derived >::reset ( )
inline

Definition at line 763 of file statistics.hh.

◆ result()

template<class Derived >
Result Stats::ValueBase< Derived >::result ( ) const
inline

Definition at line 755 of file statistics.hh.

◆ scalar()

template<class Derived >
template<class T >
Derived& Stats::ValueBase< Derived >::scalar ( T &  value)
inline

◆ size()

template<class Derived >
size_type Stats::ValueBase< Derived >::size ( ) const
inline

Definition at line 757 of file statistics.hh.

◆ str()

template<class Derived >
std::string Stats::ValueBase< Derived >::str ( ) const
inline

Definition at line 759 of file statistics.hh.

◆ total()

template<class Derived >
Result Stats::ValueBase< Derived >::total ( ) const
inline

Definition at line 756 of file statistics.hh.

◆ value()

template<class Derived >
Counter Stats::ValueBase< Derived >::value ( )
inline

◆ zero()

template<class Derived >
bool Stats::ValueBase< Derived >::zero ( ) const
inline

Definition at line 760 of file statistics.hh.

Member Data Documentation

◆ proxy

template<class Derived >
ProxyInfo* Stats::ValueBase< Derived >::proxy
private

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

Generated on Tue Mar 23 2021 19:42:06 for gem5 by doxygen 1.8.17