4#include "Stroika/Foundation/StroikaPreComp.h"
8#include "Stroika/Foundation/Execution/FeatureNotSupportedException.h"
11#if qStroika_HasComponent_zlib
12#include "Stroika/Foundation/DataExchange/Compression/Private_/ZLibSupport.h"
23using namespace Stroika::Foundation::Debug;
24using namespace Stroika::Foundation::Streams;
29#if !qStroika_HasComponent_zlib
34#if qStroika_HasComponent_zlib
35using Compression::Private_::DeflateRep_;
36using Compression::Private_::InflateRep_;
39Compression::Ptr GZip::Compress::New (
const GZip::Compress::Options& o)
41#if qStroika_HasComponent_zlib
43 GZip::Compress::Options fOptions_;
44 shared_ptr<DeflateRep_> fDelegate2;
45 MyRep_ (
const GZip::Compress::Options& o)
51 fDelegate2 = Memory::MakeSharedPtr<Private_::DeflateRep_> (src, fOptions_,
true);
54 virtual optional<Compression::Stats>
GetStats ()
const
59 return Compression::Ptr{Memory::MakeSharedPtr<MyRep_> (o)};
61 Execution::Throw (kNotSuppExcept_);
64Compression::Ptr GZip::Decompress::New ([[maybe_unused]]
const GZip::Decompress::Options& o)
66#if qStroika_HasComponent_zlib
68 shared_ptr<InflateRep_> fDelegate2;
71 fDelegate2 = Memory::MakeSharedPtr<InflateRep_> (src,
true);
74 virtual optional<Compression::Stats>
GetStats ()
const
79 return Compression::Ptr{Memory::MakeSharedPtr<MyRep_> ()};
81 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