mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-10-30 07:11:05 +00:00
* 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>
27 lines
682 B
C++
27 lines
682 B
C++
#pragma once
|
|
|
|
#include "SWA.inl"
|
|
#include "Hedgehog/Base/Thread/hhHolder.h"
|
|
|
|
namespace Hedgehog::Base
|
|
{
|
|
template<typename T, bool ForceSync = false>
|
|
class TSynchronizedPtr
|
|
{
|
|
xpointer<T> m_pObject;
|
|
|
|
public:
|
|
TSynchronizedPtr(T* in_pObject);
|
|
TSynchronizedPtr();
|
|
TSynchronizedPtr(const TSynchronizedPtr& in_rOther);
|
|
TSynchronizedPtr(TSynchronizedPtr&& io_rOther);
|
|
|
|
TSynchronizedPtr<T, ForceSync>& operator=(T* const in_pObject);
|
|
|
|
THolder<T, ForceSync> get() const;
|
|
THolder<T, ForceSync> operator->() const;
|
|
THolder<T, ForceSync> operator*() const;
|
|
|
|
explicit operator bool() const;
|
|
};
|
|
}
|