blob: 511ae55f1ee4f1f3fd9a9c21a7f6d9fd73f98853 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// -*- mode: c++; c-basic-offset: 2; -*-
#ifndef CHUNKED_HH
#define CHUNKED_HH
#include <cstddef>
#include <functional>
class Chunked {
public:
virtual ~Chunked() { }
typedef std::function<void(void const* data, size_t avail)> DataCallback;
static Chunked* create();
static Chunked* create(DataCallback const& callback);
virtual size_t add(void const* data, size_t avail) = 0;
virtual bool good() const = 0;
virtual bool eof() const = 0;
protected:
Chunked() {}
Chunked(Chunked const&) = delete;
};
#endif // CHUNKED_HH
|