vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_scratch_entry.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/export.hpp>
6#include <vitrio/image_transfer_plan.hpp>
7
8namespace vitrio
9{
10
11class array_ref;
12
13class image_reader;
14
33{
34public:
35 image_scratch_entry() noexcept;
38 virtual ~image_scratch_entry();
39
40 image_scratch_entry& operator=(const image_scratch_entry &other) = delete;
41 image_scratch_entry& operator=(image_scratch_entry &&other) = delete;
42
70 ) const = 0;
71
89 virtual void store(
90 const image_reader &file,
92 ) = 0;
93};
94
95} // namespace vitrio
A reference to a multidimensional array that does not keep it alive.
Definition array_ref.hpp:32
Abstract read-only view of one image file.
Definition image_reader.hpp:37
What a scratch holds of one image file.
Definition image_scratch_entry.hpp:33
virtual void store(const image_reader &file, const image_transfer_plan &regions)=0
Take in regions of the file, out of a reader over it.
virtual image_transfer_plan read(array_ref destination, const image_transfer_plan &regions) const =0
Read the regions of a plan that are held, and answer the rest.
The regions to transfer between one file and one array.
Definition image_transfer_plan.hpp:34
A view of a contiguous sequence of elements.
Definition span.hpp:29