Blender V4.3
COM_Device.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#ifdef WITH_CXX_GUARDEDALLOC
8# include "MEM_guardedalloc.h"
9#endif
10
11namespace blender::compositor {
12
13struct WorkPackage;
14
20class Device {
21
22 public:
23 Device() = default;
24
25 Device(const Device &other) = delete;
26 Device(Device &&other) noexcept = default;
27
28 Device &operator=(const Device &other) = delete;
29 Device &operator=(Device &&other) = delete;
30
35 virtual ~Device() {}
36
41 virtual void execute(struct WorkPackage *work) = 0;
42
43#ifdef WITH_CXX_GUARDEDALLOC
44 MEM_CXX_CLASS_ALLOC_FUNCS("COM:Device")
45#endif
46};
47
48} // namespace blender::compositor
Read Guarded memory(de)allocation.
Abstract class for device implementations to be used by the Compositor. devices are queried,...
Definition COM_Device.h:20
virtual ~Device()
Declaration of the virtual destructor.
Definition COM_Device.h:35
Device(const Device &other)=delete
virtual void execute(struct WorkPackage *work)=0
execute a WorkPackage
Device & operator=(Device &&other)=delete
Device & operator=(const Device &other)=delete
Device(Device &&other) noexcept=default
contains data about work that can be scheduled