Blender  V3.3
COM_Device.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. */
3 
4 #pragma once
5 
6 #ifdef WITH_CXX_GUARDEDALLOC
7 # include "MEM_guardedalloc.h"
8 #endif
9 
10 namespace blender::compositor {
11 
12 struct WorkPackage;
13 
19 class Device {
20 
21  public:
22  Device() = default;
23 
24  Device(const Device &other) = delete;
25  Device(Device &&other) noexcept = default;
26 
27  Device &operator=(const Device &other) = delete;
28  Device &operator=(Device &&other) = delete;
29 
34  virtual ~Device()
35  {
36  }
37 
42  virtual void execute(struct WorkPackage *work) = 0;
43 
44 #ifdef WITH_CXX_GUARDEDALLOC
45  MEM_CXX_CLASS_ALLOC_FUNCS("COM:Device")
46 #endif
47 };
48 
49 } // 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:19
Device & operator=(Device &&other)=delete
virtual ~Device()
Declaration of the virtual destructor.
Definition: COM_Device.h:34
Device(const Device &other)=delete
virtual void execute(struct WorkPackage *work)=0
execute a WorkPackage
Device & operator=(const Device &other)=delete
Device(Device &&other) noexcept=default
contains data about work that can be scheduled