Descomprima los datos en la memoria usando Boz gzip_decompressor

Estoy tratando de descomprimir los datos binarios en la memoria usando Boostgzip_decompressor. Desdeesta respuesta, Adapté el siguiente código:

vector<char> unzip(const vector<char> compressed)
{
    vector<char> decompressed = vector<char>();

    boost::iostreams::filtering_ostream os;

    os.push(boost::iostreams::gzip_decompressor());
    os.push(boost::iostreams::back_inserter(decompressed));

    boost::iostreams::write(os, &compressed[0], compressed.size());

    return decompressed;
}

Sin embargo, el vector devuelto tiene longitud cero. ¿Qué estoy haciendo mal? Intenté llamarflush() en la corriente del sistema operativo, pero no hizo una diferencia

Respuestas a la pregunta(1)

Su respuesta a la pregunta