Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
Object.h
Go to the documentation of this file.
1#pragma once
2
4#include "SDL/sdl_interface.h"
5
6#include <string>
7
8namespace ph
9{
10
11class Object : public TSdlResourceBase<ESdlTypeCategory::Ref_Object>
12{
13protected:
15 Object(const Object& other);
16 Object(Object&& other) noexcept;
17 ~Object() override = 0;
18
20 Object& operator = (Object&& rhs) noexcept;
21
22public:
24 {
25 ClassType clazz(std::string(sdl::category_to_string(CATEGORY)));
26 clazz.docName("Object");
27 clazz.description("General object that may refer to any type.");
28 return clazz;
29 }
30};
31
32}// end namespace ph
Definition Object.h:12
PH_DEFINE_SDL_CLASS(TSdlOwnerClass< Object >)
Definition Object.h:23
Object(Object &&other) noexcept
Object & operator=(const Object &rhs)
Object(const Object &other)
~Object() override=0
SDL binding type for a canonical SDL resource class.
Definition TSdlOwnerClass.h:23
A convenient ISdlResource with core requirements implemented. This class is similar to SdlResourceBas...
Definition TSdlResourceBase.h:16
static constexpr ESdlTypeCategory CATEGORY
Definition TSdlResourceBase.h:22
std::string_view category_to_string(const ESdlTypeCategory category)
Definition ESdlTypeCategory.h:59
The root for all renderer implementations.
Definition EEngineProject.h:6