mirror of https://github.com/PrimeDecomp/prime.git
25 lines
436 B
C++
25 lines
436 B
C++
|
#ifndef _RSTL_SINGLE_PTR_HPP
|
||
|
#define _RSTL_SINGLE_PTR_HPP
|
||
|
|
||
|
#include "types.h"
|
||
|
|
||
|
namespace rstl {
|
||
|
template < typename T >
|
||
|
class single_ptr {
|
||
|
T* x0_ptr;
|
||
|
|
||
|
public:
|
||
|
single_ptr() : x0_ptr(nullptr) {}
|
||
|
single_ptr(T* ptr) : x0_ptr(ptr) {}
|
||
|
~single_ptr() { delete x0_ptr; }
|
||
|
T* get() { return x0_ptr; }
|
||
|
T* operator->() { return x0_ptr; }
|
||
|
void operator=(T* ptr) {
|
||
|
delete x0_ptr;
|
||
|
x0_ptr = ptr;
|
||
|
}
|
||
|
};
|
||
|
} // namespace rstl
|
||
|
|
||
|
#endif
|