#pragma once

#include <istream>

#include "c10/macros/Macros.h"
#include "caffe2/serialize/read_adapter_interface.h"

namespace caffe2 {
namespace serialize {

// this is a reader implemented by std::istream
class TORCH_API IStreamAdapter final : public ReadAdapterInterface {
 public:
  C10_DISABLE_COPY_AND_ASSIGN(IStreamAdapter);
  explicit IStreamAdapter(std::istream* istream);
  size_t size() const override;
  size_t read(uint64_t pos, void* buf, size_t n, const char* what = "")
      const override;
  ~IStreamAdapter() override;

 private:
  std::istream* istream_;
  void validate(const char* what) const;
};

} // namespace serialize
} // namespace caffe2
