のろさんのコードをぱくって実装していたので述語関数の利用に気が付かなかったけれども74式の実装を思い出すとLINQでWhereまみれで書かれていたような気がするので、こちらが正解だろうC++でいうならstd::ranges::views::filterとPred