ベクトルを処理する関数があります。入力ベクトルのサイズは、数百万まで可能です。問題は、関数が問題なく 100k 要素以下のベクトルしか処理できないことです。
ベクトルの要素が多すぎる場合は、より小さな部分で関数を呼び出したい
Vector<Stuff> process(Vector<Stuff> input) {
Vector<Stuff> output;
while(1) {
if(input.size() > 50000) {
output.addAll(doStuff(input.pop_front_50k_first_ones_as_subvector());
}
else {
output.addAll(doStuff(input));
break;
}
}
return output;
}
どうすればいいですか?