Open alexey-malov opened 4 years ago
[ ] Устранить дублирование кода между функциями PackFile и UnpackFile. Это можно сделать за счёт выделения кода обработки потока (фактическая упаковка и распаковка) в отдельные функции и передачу function:
using StreamProcessor = function<bool(istream& input, ostream& output)>;
bool ProcessFiles(string const& inputFileName, string const& outputFileName, StreamProcessor processStreams)
{
// открыть файлы
..
if (!processStreams(input, output))
{
return false;
}
// закрывать файлы
}
struct RLEChunk
{
char ch;
uint8_t counter;
};
bool FlushChunk(RLEChunk& chunk, ostream& output);
bool CompressChar(char ch, RLEChunk& chunk, ostream& output);
https://github.com/IrinaZagaynova/oop/blob/ce096e47503b885bdb2521ec77927da0f15f4a0d/lab1/RLE/RLE/RLE.cpp#L187-L201
[ ] Не нужно использовать argv[] в main. Задача разбора массива argv - компетенция ParseArgs
[ ] Слетело форматирование