UnleashedRecomp/UnleashedRecomp/api/CSD/Manager/csdmRCPtr.h
Hyper 8f525b571b
Implemented guest-to-host function pointers (#7)
* Implemented guest-to-host function pointers (WIP)

Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>

* function: support more types for function pointers

* api: ported BlueBlur headers and misc. research

* Move over function-pointers changes from options-menu branch.

---------

Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
2024-11-25 13:50:10 +03:00

32 lines
688 B
C++

#pragma once
#include "CSD/Manager/csdmRCPtrAbs.h"
namespace Chao::CSD
{
template<typename T>
class RCPtr : RCPtrAbs
{
public:
class RCObjectImp;
RCPtr() : RCPtrAbs() {}
RCPtr(T* in_pMemory) : RCPtrAbs(in_pMemory) {}
RCPtr(const RCPtr& in_rOther) : RCPtrAbs(in_rOther) {}
RCPtr(RCPtr&& in_rOther) : RCPtrAbs(std::move(in_rOther)) {}
void Attach(T* in_pObject);
T* Get() const;
void Set(const RCPtr& in_rOther);
T* operator*() const;
T* operator->() const;
RCPtr& operator=(const RCPtr& in_rOther);
operator bool() const;
};
}
#include "CSD/Manager/csdmRCPtr.inl"