gem5  v20.1.0.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Stats::VectorBase< Derived, Stor > Class Template Reference

Implementation of a vector of stats. More...

#include <statistics.hh>

Inheritance diagram for Stats::VectorBase< Derived, Stor >:
Stats::DataWrapVec< Derived, VectorInfoProxy > Stats::DataWrap< Derived, VectorInfoProxy > Stats::InfoAccess

Public Types

typedef Stor Storage
 
typedef Stor::Params Params
 
typedef ScalarProxy< Derived > Proxy
 Proxy type. More...
 
- Public Types inherited from Stats::DataWrapVec< Derived, VectorInfoProxy >
typedef VectorInfoProxy< Derived > Info
 
- Public Types inherited from Stats::DataWrap< Derived, VectorInfoProxy >
typedef VectorInfoProxy< Derived > Info
 

Public Member Functions

void value (VCounter &vec) const
 
void result (VResult &vec) const
 Copy the values to a local vector and return a reference to it. More...
 
Result total () const
 Return a total of all entries in this vector. More...
 
size_type size () const
 
bool zero () const
 
bool check () const
 
 VectorBase (Group *parent, const char *name, const char *desc)
 
 ~VectorBase ()
 
Derived & init (size_type size)
 Set this vector to have the given size. More...
 
Proxy operator[] (off_type index)
 Return a reference (ScalarProxy) to the stat at the given index. More...
 
- Public Member Functions inherited from Stats::DataWrapVec< Derived, VectorInfoProxy >
 DataWrapVec (Group *parent=nullptr, const char *name=nullptr, const char *desc=nullptr)
 
Derived & subname (off_type index, const std::string &name)
 Set the subfield name for the given index, and marks this stat to print at the end of simulation. More...
 
Derived & subdesc (off_type index, const std::string &desc)
 Set the subfield description for the given index and marks this stat to print at the end of simulation. More...
 
void prepare ()
 
void reset ()
 
- Public Member Functions inherited from Stats::DataWrap< Derived, VectorInfoProxy >
const Infoinfo () const
 
 DataWrap ()=delete
 
 DataWrap (const DataWrap &)=delete
 
 DataWrap (Group *parent, const char *name, 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 & 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...
 

Protected Member Functions

Storagedata (off_type index)
 Retrieve the storage. More...
 
const Storagedata (off_type index) const
 Retrieve a const pointer to the storage. More...
 
void doInit (size_type s)
 
- Protected Member Functions inherited from Stats::DataWrap< Derived, VectorInfoProxy >
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...
 

Protected Attributes

Storagestorage
 The storage of this stat. More...
 
size_type _size
 

Friends

class ScalarProxy< Derived >
 
class DataWrapVec< Derived, VectorInfoProxy >
 

Detailed Description

template<class Derived, class Stor>
class Stats::VectorBase< Derived, Stor >

Implementation of a vector of stats.

The type of stat is determined by the Storage class.

See also
ScalarBase

Definition at line 1054 of file statistics.hh.

Member Typedef Documentation

◆ Params

template<class Derived , class Stor >
typedef Stor::Params Stats::VectorBase< Derived, Stor >::Params

Definition at line 1058 of file statistics.hh.

◆ Proxy

template<class Derived , class Stor >
typedef ScalarProxy<Derived> Stats::VectorBase< Derived, Stor >::Proxy

Proxy type.

Definition at line 1061 of file statistics.hh.

◆ Storage

template<class Derived , class Stor >
typedef Stor Stats::VectorBase< Derived, Stor >::Storage

Definition at line 1057 of file statistics.hh.

Constructor & Destructor Documentation

◆ VectorBase()

template<class Derived , class Stor >
Stats::VectorBase< Derived, Stor >::VectorBase ( Group parent,
const char *  name,
const char *  desc 
)
inline

Definition at line 1156 of file statistics.hh.

◆ ~VectorBase()

template<class Derived , class Stor >
Stats::VectorBase< Derived, Stor >::~VectorBase ( )
inline

Definition at line 1161 of file statistics.hh.

Member Function Documentation

◆ check()

template<class Derived , class Stor >
bool Stats::VectorBase< Derived, Stor >::check ( ) const
inline

Definition at line 1150 of file statistics.hh.

◆ data() [1/2]

template<class Derived , class Stor >
Storage* Stats::VectorBase< Derived, Stor >::data ( off_type  index)
inlineprotected

Retrieve the storage.

Parameters
indexThe vector index to access.
Returns
The storage object at the given index.

Definition at line 1076 of file statistics.hh.

Referenced by Stats::VectorBase< Vector, StatStor >::result(), Stats::VectorBase< Vector, StatStor >::total(), Stats::VectorBase< Vector, StatStor >::value(), Stats::VectorBase< Vector, StatStor >::zero(), and Stats::VectorBase< Vector, StatStor >::~VectorBase().

◆ data() [2/2]

template<class Derived , class Stor >
const Storage* Stats::VectorBase< Derived, Stor >::data ( off_type  index) const
inlineprotected

Retrieve a const pointer to the storage.

Parameters
indexThe vector index to access.
Returns
A const pointer to the storage object at the given index.

Definition at line 1083 of file statistics.hh.

◆ doInit()

template<class Derived , class Stor >
void Stats::VectorBase< Derived, Stor >::doInit ( size_type  s)
inlineprotected

Definition at line 1086 of file statistics.hh.

Referenced by Stats::VectorBase< Vector, StatStor >::init().

◆ init()

template<class Derived , class Stor >
Derived& Stats::VectorBase< Derived, Stor >::init ( size_type  size)
inline

◆ operator[]()

template<class Derived , class Stor >
Proxy Stats::VectorBase< Derived, Stor >::operator[] ( off_type  index)
inline

Return a reference (ScalarProxy) to the stat at the given index.

Parameters
indexThe vector index to access.
Returns
A reference of the stat.

Definition at line 1190 of file statistics.hh.

◆ result()

template<class Derived , class Stor >
void Stats::VectorBase< Derived, Stor >::result ( VResult vec) const
inline

Copy the values to a local vector and return a reference to it.

Returns
A reference to a vector of the stat values.

Definition at line 1115 of file statistics.hh.

◆ size()

template<class Derived , class Stor >
size_type Stats::VectorBase< Derived, Stor >::size ( ) const
inline

◆ total()

template<class Derived , class Stor >
Result Stats::VectorBase< Derived, Stor >::total ( ) const
inline

Return a total of all entries in this vector.

Returns
The total of all vector entries.

Definition at line 1127 of file statistics.hh.

Referenced by PowerState::getWeights(), and Stats::VectorBase< Vector, StatStor >::total().

◆ value()

template<class Derived , class Stor >
void Stats::VectorBase< Derived, Stor >::value ( VCounter vec) const
inline

Definition at line 1103 of file statistics.hh.

Referenced by PowerState::getWeights(), and QoS::MemCtrl::logResponse().

◆ zero()

template<class Derived , class Stor >
bool Stats::VectorBase< Derived, Stor >::zero ( ) const
inline

Definition at line 1141 of file statistics.hh.

Friends And Related Function Documentation

◆ DataWrapVec< Derived, VectorInfoProxy >

template<class Derived , class Stor >
friend class DataWrapVec< Derived, VectorInfoProxy >
friend

Definition at line 1063 of file statistics.hh.

◆ ScalarProxy< Derived >

template<class Derived , class Stor >
friend class ScalarProxy< Derived >
friend

Definition at line 1062 of file statistics.hh.

Member Data Documentation

◆ _size

template<class Derived , class Stor >
size_type Stats::VectorBase< Derived, Stor >::_size
protected

◆ storage

template<class Derived , class Stor >
Storage* Stats::VectorBase< Derived, Stor >::storage
protected

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

Generated on Wed Sep 30 2020 14:03:12 for gem5 by doxygen 1.8.17