17#include <unordered_map>
55 [[nodiscard]]
static std::unique_ptr<IWorkingImageHardware>
create();
67 [[nodiscard]]
static std::unique_ptr<IWorkingImageHardware>
create(
90 static inline std::unordered_map<Common::MemoryType, CreatorFunction> s_registry;
Factory with registration support for creating IWorkingImageHardware instances.
static void registerCreator(Common::MemoryType type, CreatorFunction creator)
Registers a creator function for a specific backend type.
std::function< std::unique_ptr< IWorkingImageHardware >()> CreatorFunction
Definition of a creator function.
static std::unique_ptr< IWorkingImageHardware > create()
Creates a working image using the application's global configuration.
Abstract interface representing an image used as a working buffer, abstracting hardware location.
Enum representing the memory type where image data is stored (CPU or GPU).
MemoryType
Enum representing the memory type where image data is stored.
@ ImageProcessing
Errors related to Image Processing, GPU, or Memory.
Manages the lifecycle of a single IWorkingImage instance.