BitVector Sparse6Writer::constructBitvector(vector<pair<unsigned, unsigned> >& groups, unsigned sizeOfGroups) { BitVector result; for (unsigned i = 0; i < groups.size(); ++i) { // append the b[i] result.appendBit(groups[i].first); // append sizeOfGroup bits of the integer groups[i].second result.appendByte(groups[i].second, sizeOfGroups); } return result; }