vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_file_read_format_registry.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/export.hpp>
6
7#include <memory>
8#include <vector>
9
10namespace vitrio
11{
12
13class image_file_read_format;
14class image_file_read_format_selector;
15
19using image_file_read_format_factory =
20 std::unique_ptr<image_file_read_format> (*)();
21
35{
36public:
38
42 ) = delete;
45 ) = delete;
47
49 operator=(const image_file_read_format_registry &other) = delete;
51 operator=(image_file_read_format_registry &&other) = delete;
52
59 VITRIO_API
60 void add(image_file_read_format_factory factory);
61
68 VITRIO_API
70
71private:
72 std::vector<image_file_read_format_factory> m_factories;
73};
74
75} // namespace vitrio
Collects image read format factories for bulk registration.
Definition image_file_read_format_registry.hpp:35
void register_all(image_file_read_format_selector &selector) const
Instantiate one format per registered factory and register them into a selector.
void add(image_file_read_format_factory factory)
Append a format factory to the registry.
Holds the image formats that can be read, selects the most suitable of them for a file,...
Definition image_file_read_format_selector.hpp:32
The ability of one image file format to be read.
Definition image_file_read_format.hpp:26