kmy_for_yukar
SharpKmyCore
Base
SharedPtr.h
1
#pragma once
2
3
namespace
XXSharpKmyBase
4
{
5
template
<
typename
T>
6
private ref class
SharedPtr
7
{
8
public
:
9
SharedPtr() {
10
m_ptr =
new
std::shared_ptr<T>();
11
}
12
void
release() {
13
if
(m_ptr)
delete
m_ptr;
14
m_ptr =
nullptr
;
15
}
16
std::shared_ptr<T>* m_ptr =
nullptr
;
17
operator
bool()
18
{
19
return
m_ptr !=
nullptr
&& m_ptr->get() !=
nullptr
;
20
}
21
T* operator->() {
return
m_ptr->get(); }
22
std::shared_ptr<T>& operator* () {
return
*m_ptr; }
23
};
24
}
構築:
1.9.4