4#include "Stroika/Foundation/StroikaPreComp.h"
8#include "Stroika/Foundation/Execution/FeatureNotSupportedException.h"
11#if qStroika_HasComponent_zlib
12#include "Private_/ZLibSupport.h"
23using namespace Stroika::Foundation::Debug;
24using namespace Stroika::Foundation::Streams;
26using Memory::MakeSharedPtr;
27#if qStroika_HasComponent_zlib
28using Compression::Private_::DeflateRep_;
29using Compression::Private_::InflateRep_;
35#if !qStroika_HasComponent_zlib
41Compression::Ptr Deflate::Compress::New (
const Deflate::Compress::Options& o)
43#if qStroika_HasComponent_zlib
45 Deflate::Compress::Options fOptions_;
46 shared_ptr<DeflateRep_> fDelegate2;
47 MyRep_ (
const Deflate::Compress::Options& o)
53 fDelegate2 = MakeSharedPtr<DeflateRep_> (src, fOptions_,
false);
56 virtual optional<Compression::Stats>
GetStats ()
const
61 return Compression::Ptr{MakeSharedPtr<MyRep_> (o)};
63 Execution::Throw (kNotSuppExcept_);
66Compression::Ptr Deflate::Decompress::New ([[maybe_unused]]
const Deflate::Decompress::Options& o)
68#if qStroika_HasComponent_zlib
70 shared_ptr<Private_::InflateRep_> fDelegate2;
73 fDelegate2 = MakeSharedPtr<Private_::InflateRep_> (src,
false);
76 virtual optional<Compression::Stats>
GetStats ()
const
81 return Compression::Ptr{MakeSharedPtr<MyRep_> ()};
83 Execution::Throw (kNotSuppExcept_);
conditional_t< qStroika_Foundation_Memory_PreferBlockAllocation and andTrueCheck, BlockAllocationUseHelper< T >, Common::Empty > UseBlockAllocationIfAppropriate
Use this to enable block allocation for a particular class. Beware of subclassing.
virtual InputStream::Ptr< byte > Transform(const InputStream::Ptr< byte > &src)=0
virtual optional< Stats > GetStats() const =0