Commit 2a2d7f57 authored by jan.koester's avatar jan.koester
Browse files

added compress.h

parent 636a69bc
Loading
Loading
Loading
Loading

src/compress.h

0 → 100644
+21 −0
Original line number Diff line number Diff line
#include <algorithm>
#include <brotli/encode.h>

#pragma once

template<typename T>
void compress(const std::string in,std::string &out){

    size_t len= BrotliEncoderMaxCompressedSize(in.length());

    unsigned char *buf = new unsigned char[len];

    BrotliEncoderCompress(BROTLI_DEFAULT_QUALITY,BROTLI_DEFAULT_WINDOW,BROTLI_MODE_TEXT,
                      in.length(),(const unsigned char*)in.c_str(),&len,buf);

    out.resize(len);

    std::copy(buf,buf+len,std::inserter<std::string>(out,out.begin()));

    delete[] buf;
}