47 struct measure_aux_concept {
48 virtual ~measure_aux_concept() =
default;
49 virtual void call() = 0;
55 requires(std::invocable<T>)
56 struct measure_aux_model :
public measure_aux_concept {
57 std::shared_ptr<T> ptr_;
58 measure_aux_model(std::shared_ptr<T>
const &m_ptr) : ptr_{m_ptr} {}
59 void call()
override {
return (*ptr_)(); }
70 requires(std::invocable<T>)
71 measure_aux(std::shared_ptr<T>
const &m_ptr) : ptr_{std::make_unique<measure_aux_model<T>>(m_ptr)} {}
77 std::unique_ptr<measure_aux_concept> ptr_;