Template Struct metrics_extract
Defined in File metrics_extract.hpp
Inheritance Relationships
Base Type
public boost::static_visitor< void >
Struct Documentation
-
template<class TController, class TAggregator>
struct metrics_extract : public boost::static_visitor<void> Functor to perform metric extraction from a controller on each timestep.
TController
does not have to be a class template parameter per-se, and could be pushed down to operator(). However, if this is done then the compiler cannot infer the type of the derived controller when trying to apply a specific instantiation of this visitor to a std::variant. So, we encode the necessary type information in the class template parameters.- Template Parameters:
TController – The type of the controller to extract metrics from.
TAggregator – The type of the metrics aggregator to use to extract the metrics, derived from base_metrics_aggregator.
Public Functions
-
inline explicit metrics_extract(TAggregator *const agg)
-
template<typename ...Args>
inline void operator()(const TController *const c, Args&&... args) const