Celero
Public Member Functions | List of all members
celero::UserDefinedMeasurement Class Referenceabstract

Base class that the user must derive user-defined measurements from. More...

#include <UserDefinedMeasurement.h>

Inheritance diagram for celero::UserDefinedMeasurement:
Inheritance graph
[legend]

Public Member Functions

virtual ~UserDefinedMeasurement ()=default
 Expose the default destructor, but make it virtual to support inheritance.
 
virtual UDMAggregationTable getAggregationInfo () const =0
 Must be implemented by the user. More...
 
virtual std::string getName () const =0
 Must be implemented by the user. More...
 
virtual void merge (const UserDefinedMeasurement *const x)=0
 Combine the results of two user-defined measurements. More...
 

Detailed Description

Base class that the user must derive user-defined measurements from.

Author
Lukas Barth

Member Function Documentation

◆ getAggregationInfo()

virtual UDMAggregationTable celero::UserDefinedMeasurement::getAggregationInfo ( ) const
pure virtual

Must be implemented by the user.

Must return a specification which aggregations the user wants to be computed.

Implemented in celero::UserDefinedMeasurementTemplate< T >, and celero::UserDefinedMeasurementTemplate< size_t >.

◆ getName()

virtual std::string celero::UserDefinedMeasurement::getName ( ) const
pure virtual

Must be implemented by the user.

Must return the name of this user-defined measurement.

◆ merge()

virtual void celero::UserDefinedMeasurement::merge ( const UserDefinedMeasurement *const  x)
pure virtual

Combine the results of two user-defined measurements.

As TestFixture classes are created and destroyed, this provides a mechanism to preserve data. Internally, this function is used so that each unique set of (group, experiment, problem space) has its own combined set of user-defined measurements.

Implemented in celero::UserDefinedMeasurementTemplate< T >, and celero::UserDefinedMeasurementTemplate< size_t >.


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