Lluvia
|
Base class for all types that can be used in computer shaders. More...
#include <Object.h>
Public Member Functions | |
Object ()=default | |
Default constructor. More... | |
Object (const Object &)=delete | |
Copy constructor. More... | |
Object (Object &&)=delete | |
Move constructor. More... | |
virtual | ~Object ()=default |
Object & | operator= (const Object &)=delete |
Copy assignment. More... | |
Object & | operator= (Object &&)=delete |
Move assignment. More... | |
virtual ll::ObjectType | getType () const noexcept=0 |
Gets the object type. More... | |
Base class for all types that can be used in computer shaders.
Handling of objects in the engine is done through instances allocated in the heap and referenced through pointers. The reason is that normal object operations such as copying or moving are hard to define for classes that contain some Vulkan resource such as buffers or images.
|
default |
Default constructor.
This constructor needs to be kept in order to construct the child classes. However, this class has no members to initialize.
|
delete |
Copy constructor.
The copy constructor is deleted intentionally. Copying objects that handle some Vulkan resource such as buffers or images is not well defined.
|
delete |
Move constructor.
The move constructor is deleted intentionally. Moving objects that handle Vulkan resources is not well defined.
|
virtualdefault |
|
pure virtualnoexcept |
Gets the object type.
This method can be used for safely down-casting pointers of ll::Object type to its children.
Implemented in ll::ImageView, ll::Image, and ll::Buffer.
Copy assignment.
Copy assignment is not allowed for Object instances.
Move assignment.
Move assignment is not allowed for Object instances.