LiFan
2024-11-05 cf6fd438182e69ac0790b6011ac4babd158b860b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include "jobject.hpp"
template<class Ty>
class JPtr :
    public JObject
{
public:
    JPtr(Ty* impl) :impl(impl) {}
    ~JPtr() {
        ((JObject*)impl)->Release();
    }
public:
    Ty* operator ->() {
        return impl;
    }
public:
    void Release() {}
private:
    Ty* impl;
};