Program Listing for File register_using_config.hpp
↰ Return to documentation for file (rcppsw/metrics/register_using_config.hpp)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <utility>
#include "rcppsw/rcppsw.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace rcppsw::metrics {
/*******************************************************************************
* Class Definitions
******************************************************************************/
template <typename TSinkRegisterer, typename TConfig>
class register_using_config {
public:
register_using_config(const TSinkRegisterer&& registerer,
const TConfig* config)
: mc_config(config),
m_registerer(std::move(registerer)) {}
register_using_config& operator=(const register_using_config&) = default;
register_using_config(const register_using_config&) = default;
template <typename TPair>
void operator()(const TPair& pair) {
m_registerer(pair, mc_config);
}
private:
/* clang-format off */
const TConfig* mc_config;
TSinkRegisterer m_registerer;
/* clang-format on */
};
} /* namespace rcppsw::metrics */