Files
hate/RC.h
2025-11-22 16:25:58 +01:00

17 lines
290 B
C++

#pragma once
class RC
{
public:
RC() : _rc(new int[1]) { *_rc = 1; };
RC(const RC &r) noexcept : _rc(r._rc) { *_rc += 1; }
RC(RC &&r) noexcept : _rc(r._rc) { }
~RC() { if (!--*_rc) delete[] _rc; };
int rc() { return *_rc; }
bool last() { return *_rc == 1; }
private:
int* _rc;
};