Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void LZ77::decode() {
- for (auto triplet : triplets) {
- int length = triplet.length;
- if (length > 0) {
- string s = dataBuffer.substr(dataBuffer.length() - triplet.offset, min(length, triplet.offset));
- while (length) {
- int repeats = min(length, (int) s.length());
- dataBuffer.append(s, 0, repeats);
- length -= repeats;
- }
- }
- dataBuffer.append(1, triplet.value);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement