4#include "Stroika/Foundation/StroikaPreComp.h"
8#include "Stroika/Foundation/Execution/FeatureNotSupportedException.h"
10#if qStroika_HasComponent_zlib
11#include "Private_/ZLibSupport.h"
22using namespace Stroika::Foundation::Debug;
23using namespace Stroika::Foundation::Streams;
28#if !qStroika_HasComponent_zlib
33#if qStroika_HasComponent_zlib
34using Compression::Private_::DeflateRep_;
35using Compression::Private_::InflateRep_;
38Compression::Ptr GZip::Compress::New (
const GZip::Compress::Options& o)
40#if qStroika_HasComponent_zlib
41 struct MyRep_ :
IRep {
42 GZip::Compress::Options fOptions_;
43 shared_ptr<DeflateRep_> fDelegate2;
44 MyRep_ (
const GZip::Compress::Options& o)
50 fDelegate2 = make_shared<Private_::DeflateRep_> (src, fOptions_,
true);
53 virtual optional<Compression::Stats>
GetStats ()
const
58 return Compression::Ptr{make_shared<MyRep_> (o)};
63Compression::Ptr GZip::Decompress::New ([[maybe_unused]]
const GZip::Decompress::Options& o)
65#if qStroika_HasComponent_zlib
66 struct MyRep_ :
IRep {
67 shared_ptr<InflateRep_> fDelegate2;
70 fDelegate2 = make_shared<InflateRep_> (src,
true);
73 virtual optional<Compression::Stats>
GetStats ()
const
78 return Compression::Ptr{make_shared<MyRep_> ()};
void Throw(T &&e2Throw)
identical to builtin C++ 'throw' except that it does helpful, type dependent DbgTrace() messages firs...
virtual InputStream::Ptr< byte > Transform(const InputStream::Ptr< byte > &src)=0
virtual optional< Stats > GetStats() const =0