Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ISdlResource.h
Go to the documentation of this file.
1#pragma once
2
4#include "SDL/SdlResourceId.h"
5
6namespace ph { class SdlClass; }
7
8namespace ph
9{
10
22{
23protected:
24 inline ISdlResource() = default;
25
26public:
27 inline ISdlResource(const ISdlResource& other) = default;
28 inline ISdlResource(ISdlResource&& other) = default;
29 inline virtual ~ISdlResource() = default;
30
31 inline ISdlResource& operator = (const ISdlResource& rhs) = default;
32 inline ISdlResource& operator = (ISdlResource&& rhs) = default;
33
35
41 virtual SdlResourceId getId() const = 0;
42
47 virtual const SdlClass* getDynamicSdlClass() const;
48
49 virtual bool isInlinable() const;
50};
51
52// In-header Implementation:
53
55{
56 return nullptr;
57}
58
59inline bool ISdlResource::isInlinable() const
60{
61 return false;
62}
63
64}// end namespace ph
Interface for all SDL resource.
Definition ISdlResource.h:22
ISdlResource()=default
ISdlResource(ISdlResource &&other)=default
ISdlResource(const ISdlResource &other)=default
ISdlResource & operator=(const ISdlResource &rhs)=default
virtual bool isInlinable() const
Definition ISdlResource.h:59
virtual ~ISdlResource()=default
virtual const SdlClass * getDynamicSdlClass() const
Get runtime SDL class of the resource.
Definition ISdlResource.h:54
virtual ESdlTypeCategory getDynamicCategory() const =0
virtual SdlResourceId getId() const =0
Get the unique ID of this resource. The returned ID is guaranteed to be unique in the current process...
Definition SdlClass.h:25
The root for all renderer implementations.
Definition EEngineProject.h:6
std::uint64_t SdlResourceId
Definition SdlResourceId.h:8
ESdlTypeCategory
Definition ESdlTypeCategory.h:15