| 58 | item.erase(std::find_if(item.rbegin(), item.rend(), [](unsigned char ch) { return std::isspace(ch) == 0; }).base(), item.end()); |
| 59 | if (!item.empty()) { |
| 60 | items.push_back(std::move(item)); |
| 61 | } |
| 62 | if (end == std::string::npos) { |
| 63 | break; |
| 64 | } |
| 65 | start = end + 1; |
| 66 | } |
| 67 | return items; |
| 68 | } |
| 69 | |
| 70 | void log_model_load_trace(const ModelInspection & inspection, const ILoadedVoiceModel & model) { |
| 71 | if (!engine::debug::trace_log_enabled()) { |
| 72 | return; |
| 73 | } |
| 74 | const auto & metadata = model.metadata(); |
| 75 | engine::debug::trace_log_scalar("runtime.model.family", metadata.family); |
| 76 | engine::debug::trace_log_scalar("runtime.model.variant", metadata.variant); |
| 77 | engine::debug::trace_log_scalar("runtime.model.root", inspection.model_root.string()); |
| 78 | engine::debug::trace_log_scalar("runtime.model.discovered_config_count", inspection.discovered_configs.size()); |
no test coverage detected