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;
25#if qStroika_HasComponent_zlib
26using Compression::Private_::DeflateRep_;
27using Compression::Private_::InflateRep_;
33#if !qStroika_HasComponent_zlib
39Compression::Ptr Deflate::Compress::New (
const Deflate::Compress::Options& o)
41#if qStroika_HasComponent_zlib
42 struct MyRep_ :
IRep {
43 Deflate::Compress::Options fOptions_;
44 shared_ptr<DeflateRep_> fDelegate2;
45 MyRep_ (
const Deflate::Compress::Options& o)
51 fDelegate2 = make_shared<DeflateRep_> (src, fOptions_,
false);
54 virtual optional<Compression::Stats>
GetStats ()
const
59 return Compression::Ptr{make_shared<MyRep_> (o)};
64Compression::Ptr Deflate::Decompress::New ([[maybe_unused]]
const Deflate::Decompress::Options& o)
66#if qStroika_HasComponent_zlib
67 struct MyRep_ :
IRep {
68 shared_ptr<Private_::InflateRep_> fDelegate2;
71 fDelegate2 = make_shared<Private_::InflateRep_> (src,
false);
74 virtual optional<Compression::Stats>
GetStats ()
const
79 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