models_archive_reader.h 683 B

123456789101112131415161718192021
  1. #pragma once
  2. #include <util/generic/fwd.h>
  3. #include <util/generic/ptr.h>
  4. class IInputStream;
  5. class TBlob;
  6. class IModelsArchiveReader {
  7. public:
  8. virtual ~IModelsArchiveReader() = default;
  9. virtual size_t Count() const = 0;
  10. virtual TString KeyByIndex(size_t n) const = 0;
  11. virtual bool Has(const TStringBuf key) const = 0;
  12. virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const = 0;
  13. virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0;
  14. virtual TBlob BlobByKey(const TStringBuf key) const = 0;
  15. virtual bool Compressed() const = 0;
  16. virtual THashSet<TStringBuf> FilterByPrefix(TStringBuf prefix, TStringBuf suffix) const;
  17. };