It was being done manually, which a TODO comment advised against. Using generic_string() from std::filesystem::path solves this. Fix encoding issue using generic_wstring instead.
std::find_if
std::ranges::find
std::copy
std::copy_n