+static std::vector<double> surf_parse_get_all_speeds(char* speeds, const char* entity_kind, const char* id){
+
+ std::vector<double> speed_per_pstate;
+
+ if (strchr(speeds, ',') == nullptr){
+ double speed = surf_parse_get_speed(speeds, entity_kind, id);
+ speed_per_pstate.push_back(speed);
+ } else {
+ std::vector<std::string> pstate_list;
+ boost::split(pstate_list, speeds, boost::is_any_of(","));
+ for (auto speed_str : pstate_list) {
+ boost::trim(speed_str);
+ double speed = surf_parse_get_speed(speed_str.c_str(), entity_kind, id);
+ speed_per_pstate.push_back(speed);
+ XBT_DEBUG("Speed value: %f", speed);
+ }
+ }
+ return speed_per_pstate;
+}
+