roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
memory_iterable.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
6
7namespace roo_io {
8
9template <typename PtrType>
11 public:
12 UnsafeGenericMemoryIterable(PtrType ptr) : ptr_(ptr) {}
13
17
18 private:
19 PtrType ptr_;
20};
21
23
24template <typename PtrType>
26 public:
28 : begin_(begin), end_(end) {}
29
33
34 private:
35 PtrType begin_;
36 PtrType end_;
37};
38
40
41template <typename PtrType>
43 public:
45 : begin_(begin), end_(end) {}
46
50
51 uint64_t size() const { return end_ - begin_; }
52
53 private:
54 PtrType begin_;
55 PtrType end_;
56};
57
59
60} // namespace roo_io
MultipassGenericMemoryIterable(PtrType begin, PtrType end)
MultipassGenericMemoryIterator< PtrType > iterator() const
SafeGenericMemoryIterable(PtrType begin, PtrType end)
SafeGenericMemoryIterator< PtrType > iterator() const
UnsafeGenericMemoryIterator< PtrType > iterator() const
Definition byte.h:6
roo::basic_string_view< CharT, Traits > basic_string_view
Definition string_view.h:8
UnsafeGenericMemoryIterable< const byte * > UnsafeMemoryIterable
SafeGenericMemoryIterable< const byte * > MemoryIterable
MultipassGenericMemoryIterable< const byte * > MultipassMemoryIterable