1#pragma once
2
3#include <cstddef>
4#include <cstdint>
5
6#include "c10/macros/Macros.h"
7
8namespace caffe2 {
9namespace serialize {
10
11// this is the interface for the (file/stream/memory) reader in
12// PyTorchStreamReader. with this interface, we can extend the support
13// besides standard istream
14class TORCH_API ReadAdapterInterface {
15 public:
16 virtual size_t size() const = 0;
17 virtual size_t read(uint64_t pos, void* buf, size_t n, const char* what = "")
18 const = 0;
19 virtual ~ReadAdapterInterface();
20};
21
22} // namespace serialize
23} // namespace caffe2
24