One tricky thing is that fstream does not have operator=, so the new file_compressorst requires a manually implemented one that skips it.