#pragma once #include <util/generic/fwd.h> #include <util/generic/ptr.h> class IInputStream; class TBlob; class IModelsArchiveReader { public: virtual ~IModelsArchiveReader() = default; virtual size_t Count() const = 0; virtual TString KeyByIndex(size_t n) const = 0; virtual bool Has(const TStringBuf key) const = 0; virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const = 0; virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0; virtual TBlob BlobByKey(const TStringBuf key) const = 0; virtual bool Compressed() const = 0; virtual THashSet<TStringBuf> FilterByPrefix(TStringBuf prefix, TStringBuf suffix) const; };