vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
Public Member Functions | List of all members
vitrio::file_image_reader_provider Class Referencefinal

A provider that reads files. It opens each file through a format selector, every time it is asked for one. More...

#include <vitrio/file_image_reader_provider.hpp>

Inheritance diagram for vitrio::file_image_reader_provider:
Inheritance graph
[legend]
Collaboration diagram for vitrio::file_image_reader_provider:
Collaboration graph
[legend]

Public Member Functions

 file_image_reader_provider (std::shared_ptr< const image_file_read_format_selector > formats)
 Construct a provider opening through a format selector.
 
std::shared_ptr< const image_reader > acquire (const std::string &key) override
 Get the reader a key names.
 
- Public Member Functions inherited from vitrio::image_reader_provider
 image_reader_provider (const image_reader_provider &other)=delete
 
 image_reader_provider (image_reader_provider &&other)=delete
 
image_reader_provider & operator= (const image_reader_provider &other)=delete
 
image_reader_provider & operator= (image_reader_provider &&other)=delete
 

Detailed Description

A provider that reads files. It opens each file through a format selector, every time it is asked for one.

It keeps nothing: every reader it returns is newly opened through the format selector it was constructed with, so a key asked for twice is opened twice and the two readers are unrelated. With no capacity to size and no eviction, a file is opened exactly as often as it is asked for.

A key is handed to the selector as the path of the file.

See also
file_image_writer_provider
image_file_read_format_selector

Constructor & Destructor Documentation

◆ file_image_reader_provider()

vitrio::file_image_reader_provider::file_image_reader_provider ( std::shared_ptr< const image_file_read_format_selector >  formats)
explicit

Construct a provider opening through a format selector.

Parameters
formatsThe formats a file may be opened with.
Exceptions
std::invalid_argumentIf formats is null.

Member Function Documentation

◆ acquire()

std::shared_ptr< const image_reader > vitrio::file_image_reader_provider::acquire ( const std::string &  key)
overridevirtual

Get the reader a key names.

Shared ownership rather than a reference, so that a reader the provider stops keeping stays alive for as long as it is still read through.

Parameters
keyKey of the file to read, such as its path.
Returns
std::shared_ptr<const image_reader> The reader, never null.
Exceptions
image_file_errorIf the file does not exist or can not be read.
unsupported_operation_errorIf no format can read the file.
image_file_format_errorIf the file is malformed or truncated.

Implements vitrio::image_reader_provider.


The documentation for this class was generated from the following file: