gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
Stats::ScalarProxy< Stat > Class Template Reference

A proxy class to access the stat at a given index in a VectorBase stat. More...

#include <statistics.hh>

Public Member Functions

Counter value () const
 Return the current value of this stat as its base type. More...
 
Result result () const
 Return the current value of this statas a result type. More...
 
 ScalarProxy (Stat &s, off_type i)
 Create and initialize this proxy, do not register it with the database. More...
 
 ScalarProxy (const ScalarProxy &sp)
 Create a copy of the provided ScalarProxy. More...
 
const ScalarProxyoperator= (const ScalarProxy &sp)
 Set this proxy equal to the provided one. More...
 
void operator++ ()
 Increment the stat by 1. More...
 
void operator-- ()
 Decrement the stat by 1. More...
 
void operator++ (int)
 Increment the stat by 1. More...
 
void operator-- (int)
 Decrement the stat by 1. More...
 
template<typename U >
void operator= (const U &v)
 Set the data value to the given value. More...
 
template<typename U >
void operator+= (const U &v)
 Increment the stat by the given value. More...
 
template<typename U >
void operator-= (const U &v)
 Decrement the stat by the given value. More...
 
size_type size () const
 Return the number of elements, always 1 for a scalar. More...
 
std::string str () const
 

Private Attributes

Stat & stat
 Pointer to the parent Vector. More...
 
off_type index
 The index to access in the parent VectorBase. More...
 

Detailed Description

template<class Stat>
class Stats::ScalarProxy< Stat >

A proxy class to access the stat at a given index in a VectorBase stat.

Behaves like a ScalarBase.

Definition at line 870 of file statistics.hh.

Constructor & Destructor Documentation

template<class Stat>
Stats::ScalarProxy< Stat >::ScalarProxy ( Stat &  s,
off_type  i 
)
inline

Create and initialize this proxy, do not register it with the database.

Parameters
iThe index to access.

Definition at line 897 of file statistics.hh.

template<class Stat>
Stats::ScalarProxy< Stat >::ScalarProxy ( const ScalarProxy< Stat > &  sp)
inline

Create a copy of the provided ScalarProxy.

Parameters
spThe proxy to copy.

Definition at line 906 of file statistics.hh.

Member Function Documentation

template<class Stat>
void Stats::ScalarProxy< Stat >::operator++ ( )
inline

Increment the stat by 1.

This calls the associated storage object inc function.

Definition at line 929 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
void Stats::ScalarProxy< Stat >::operator++ ( int  )
inline

Increment the stat by 1.

Definition at line 937 of file statistics.hh.

template<class Stat>
template<typename U >
void Stats::ScalarProxy< Stat >::operator+= ( const U &  v)
inline

Increment the stat by the given value.

This calls the associated storage object inc function.

Parameters
vThe value to add.

Definition at line 960 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
void Stats::ScalarProxy< Stat >::operator-- ( )
inline

Decrement the stat by 1.

This calls the associated storage object dec function.

Definition at line 934 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
void Stats::ScalarProxy< Stat >::operator-- ( int  )
inline

Decrement the stat by 1.

Definition at line 939 of file statistics.hh.

template<class Stat>
template<typename U >
void Stats::ScalarProxy< Stat >::operator-= ( const U &  v)
inline

Decrement the stat by the given value.

This calls the associated storage object dec function.

Parameters
vThe value to substract.

Definition at line 972 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
const ScalarProxy& Stats::ScalarProxy< Stat >::operator= ( const ScalarProxy< Stat > &  sp)
inline

Set this proxy equal to the provided one.

Parameters
spThe proxy to copy.
Returns
A reference to this proxy.

Definition at line 916 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
template<typename U >
void Stats::ScalarProxy< Stat >::operator= ( const U &  v)
inline

Set the data value to the given value.

This calls the associated storage object set function.

Parameters
vThe new value.

Definition at line 948 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
Result Stats::ScalarProxy< Stat >::result ( ) const
inline

Return the current value of this statas a result type.

Returns
The current value.

Definition at line 890 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

template<class Stat>
size_type Stats::ScalarProxy< Stat >::size ( ) const
inline

Return the number of elements, always 1 for a scalar.

Returns
1.

Definition at line 981 of file statistics.hh.

template<class Stat>
std::string Stats::ScalarProxy< Stat >::str ( ) const
inline
template<class Stat>
Counter Stats::ScalarProxy< Stat >::value ( ) const
inline

Return the current value of this stat as its base type.

Returns
The current value.

Definition at line 884 of file statistics.hh.

References Stats::ScalarProxy< Stat >::index, and Stats::ScalarProxy< Stat >::stat.

Member Data Documentation

template<class Stat>
off_type Stats::ScalarProxy< Stat >::index
private
template<class Stat>
Stat& Stats::ScalarProxy< Stat >::stat
private

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