gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ()
 
 ~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 ()
 
 DataWrapVec (const DataWrapVec &ref)
 
void operator= (const DataWrapVec &)
 
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 ()
 
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
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 ()
 
 DataWrap (const DataWrap &stat)
 Copy constructor, copies are not allowed. More...
 
void operator= (const DataWrap &)
 Can't copy stats. More...
 
- Protected Member Functions inherited from Stats::InfoAccess
void setInfo (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 996 of file statistics.hh.

Member Typedef Documentation

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

Definition at line 1000 of file statistics.hh.

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

Proxy type.

Definition at line 1003 of file statistics.hh.

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

Definition at line 999 of file statistics.hh.

Constructor & Destructor Documentation

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

Definition at line 1098 of file statistics.hh.

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

Definition at line 1102 of file statistics.hh.

Member Function Documentation

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

Definition at line 1092 of file statistics.hh.

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 1018 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().

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 1025 of file statistics.hh.

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

Definition at line 1028 of file statistics.hh.

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

template<class Derived, class Stor>
Derived& Stats::VectorBase< Derived, Stor >::init ( size_type  size)
inline
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 1131 of file statistics.hh.

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 1057 of file statistics.hh.

template<class Derived, class Stor>
size_type Stats::VectorBase< Derived, Stor >::size ( ) const
inline
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 1069 of file statistics.hh.

Referenced by ClockedObject::pwrStateWeights(), and Stats::VectorBase< Vector, StatStor >::total().

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

Definition at line 1045 of file statistics.hh.

Referenced by ClockedObject::pwrStateWeights().

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

Definition at line 1083 of file statistics.hh.

Friends And Related Function Documentation

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

Definition at line 1005 of file statistics.hh.

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

Definition at line 1004 of file statistics.hh.

Member Data Documentation

template<class Derived, class Stor>
size_type Stats::VectorBase< Derived, Stor >::_size
protected
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 Fri Jun 9 2017 13:04:39 for gem5 by doxygen 1.8.6