LeviLamina
Loading...
Searching...
No Matches
ServerResourcePointer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5#include "mc/external/render_dragon/resources/ResourcePointer.h"
6
7namespace mce {
8
9template <typename T>
10class ServerResourcePointer : public ::mce::ResourcePointer<T> {
11public:
12 ServerResourcePointer() = default;
13
14 ServerResourcePointer(ResourcePointer<T> const& resourcePointer) {
15 if (resourcePointer.mResourcePointerBlock
16 && resourcePointer.mResourcePointerBlock->mTrackingBlock.mCheckCount == 0) {
17 // assert: server resource pointer must be checked in [inferred]
18 }
19 this->mResourcePointerBlock = resourcePointer.mResourcePointerBlock;
20 }
21
22 ServerResourcePointer(ServerResourcePointer const&) = default;
23 ServerResourcePointer(ServerResourcePointer&&) = default;
24
25 ServerResourcePointer& operator=(ServerResourcePointer const& other) {
26 this->mResourcePointerBlock = other.mResourcePointerBlock;
27 return *this;
28 }
29 ServerResourcePointer& operator=(ResourcePointer<T>&& resourcePointer) {
30 this->mResourcePointerBlock = std::move(resourcePointer.mResourcePointerBlock);
31 return *this;
32 }
33};
34
35} // namespace mce
Definition ResourcePointer.h:9