gem5 v24.1.0.1
|
Template specialization for type std::function<Result()> which holds a copy of its target instead of a pointer to it. More...
#include <statistics.hh>
Public Member Functions | |
FunctorProxy (const T &func) | |
Counter | value () const |
Result | result () const |
Result | total () const |
![]() | |
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. | |
void | prepare () |
Prepare the stat for dumping. | |
void | reset () |
Reset the stat to the default state. | |
bool | zero () const |
void | visit (Output &visitor) |
Visitor entry for outputing statistics data. | |
![]() | |
Info () | |
virtual | ~Info () |
void | setName (const std::string &name, bool old_style=true) |
Set the name of this statistic. | |
void | setSeparator (std::string _sep) |
StorageParams const * | getStorageParams () const |
Getter for the storage params. | |
void | setStorageParams (const StorageParams *const params) |
Setter for the storage params. | |
bool | baseCheck () const |
virtual void | enable () |
Enable the stat for use. | |
Private Attributes | |
std::function< Result()> | functor |
Additional Inherited Members | |
![]() | |
static bool | less (Info *stat1, Info *stat2) |
Checks if the first stat's name is alphabetically less than the second. | |
![]() | |
std::string | name |
The name of the stat. | |
const units::Base * | unit = units::Unspecified::get() |
The unit of the stat. | |
std::string | desc |
The description of the stat. | |
Flags | flags |
The formatting flags. | |
int | precision |
The display precision. | |
const Info * | prereq |
A pointer to a prerequisite Stat. | |
int | id |
![]() | |
static std::string | separatorString = "::" |
The separator string used for vectors, dist, etc. | |
static int | id_count = 0 |
A unique stat ID for each stat in the simulator. | |
Template specialization for type std::function<Result()> which holds a copy of its target instead of a pointer to it.
This makes it possible to use a lambda or other type inline without having to keep track of an instance somewhere else.
Definition at line 679 of file statistics.hh.
|
inline |
Definition at line 687 of file statistics.hh.
|
inlinevirtual |
Implements gem5::statistics::ScalarInfo.
Definition at line 689 of file statistics.hh.
References gem5::statistics::FunctorProxy< T, Enabled >::functor.
|
inlinevirtual |
Implements gem5::statistics::ScalarInfo.
Definition at line 690 of file statistics.hh.
References gem5::statistics::FunctorProxy< T, Enabled >::functor.
|
inlinevirtual |
Implements gem5::statistics::ScalarInfo.
Definition at line 688 of file statistics.hh.
References gem5::statistics::FunctorProxy< T, Enabled >::functor.
|
private |
Definition at line 684 of file statistics.hh.