--- nono/lib/monitor.cpp 2026/04/29 17:05:30 1.1.1.6 +++ nono/lib/monitor.cpp 2026/04/29 17:05:52 1.1.1.7 @@ -164,17 +164,17 @@ MonitorManager::GetList() const return list; } -// id リストから一覧表示用の文字列を生成して返す -/*static*/ std::string -MonitorManager::MakeListString(std::vector list) +// id リストから一覧表示用の文字列リストを生成して返す +std::vector +MonitorManager::MakeListString(std::vector list) const { - std::string str; + std::vector rv; // id をモニター情報内の1つ目の名前順にソートする std::sort(list.begin(), list.end(), - [](const auto& a_id, const auto& b_id) { - const auto& a_alias = gMonitorManager->GetAliases(a_id); - const auto& b_alias = gMonitorManager->GetAliases(b_id); + [&](const auto& a_id, const auto& b_id) { + const auto& a_alias = GetAliases(a_id); + const auto& b_alias = GetAliases(b_id); const std::string a_name = a_alias[0]; const std::string b_name = b_alias[0]; @@ -183,11 +183,10 @@ MonitorManager::MakeListString(std::vect ); for (const auto id : list) { - const auto& aliases = gMonitorManager->GetAliases(id); + const auto& aliases = GetAliases(id); assert(aliases.empty() == false); - str += ' '; - str += aliases[0]; + std::string str = aliases[0]; if (aliases.size() > 1) { str += " (alias:"; for (int i = 1, sz = aliases.size(); i < sz; i++) { @@ -196,7 +195,7 @@ MonitorManager::MakeListString(std::vect } str += ')'; } - str += '\n'; + rv.push_back(str); } - return str; + return rv; }