#include <iostream>
#include <vector>
using namespace std;
void foo(std::vector<uint8_t> vec, int numSubVectors){
size_t size = vec.size() / numSubVectors;
auto iter = vec.begin();
for (int i = 0; i < numSubVectors; ++i) {
auto sub_vec = std::vector<uint8_t>(iter, iter + size);
// do something with sub_vec
// ...
cout << sub_vec.size() << endl;
iter += size;
}
}
int main() {
foo({2}, 1);
foo({}, 1);
foo({2}, 2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmb28oc3RkOjp2ZWN0b3I8dWludDhfdD4gdmVjLCBpbnQgbnVtU3ViVmVjdG9ycyl7CiAgICBzaXplX3Qgc2l6ZSA9IHZlYy5zaXplKCkgLyBudW1TdWJWZWN0b3JzOwogICAgYXV0byBpdGVyID0gdmVjLmJlZ2luKCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVN1YlZlY3RvcnM7ICsraSkgewogICAgICAgIGF1dG8gc3ViX3ZlYyA9IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+KGl0ZXIsIGl0ZXIgKyBzaXplKTsKICAgICAgICAvLyBkbyBzb21ldGhpbmcgd2l0aCBzdWJfdmVjCiAgICAgICAgLy8gLi4uCiAgICAgICAgY291dCA8PCBzdWJfdmVjLnNpemUoKSA8PCBlbmRsOwoKICAgICAgICBpdGVyICs9IHNpemU7CiAgICB9Cn0KCmludCBtYWluKCkgewoJZm9vKHsyfSwgMSk7Cglmb28oe30sIDEpOwoJZm9vKHsyfSwgMik7CgoJcmV0dXJuIDA7Cn0=