counter_status install(error_code& ec = throws) { if (status_invalid_data != status_) { HPX_THROWS_IF(ec, hpx::invalid_status, "manage_counter_type::install", "counter type " + info_.fullname_ + " has been already installed."); return status_invalid_data; } return status_ = add_counter_type(info_, ec); }
counter_status install( HPX_STD_FUNCTION<create_counter_func> const& create_counter, HPX_STD_FUNCTION<discover_counters_func> const& discover_counters, error_code& ec = throws) { if (status_invalid_data != status_) { HPX_THROWS_IF(ec, hpx::invalid_status, "manage_counter_type::install", "generic counter type " + info_.fullname_ + " has been already installed."); return status_invalid_data; } return status_ = add_counter_type( info_, create_counter, discover_counters, ec); }
inline counter_status add_counter_type(counter_info const& info, error_code& ec = throws) { return add_counter_type(info, HPX_STD_FUNCTION<create_counter_func>(), HPX_STD_FUNCTION<discover_counters_func>(), ec); }
inline counter_status add_counter_type(counter_info const& info, error_code& ec = throws) { return add_counter_type(info, create_counter_func(), discover_counters_func(), ec); }