5#ifndef MOSTLYHARMLESS_PROXY_H
6#define MOSTLYHARMLESS_PROXY_H
80 explicit Proxy([[maybe_unused]] Private, T* toWrap) : m_wrapped(toWrap) {
87 [[nodiscard]]
static std::shared_ptr<Proxy<T>>
create(T* toWrap)
noexcept {
88 return std::make_shared<Proxy<T>>(Private{}, toWrap);
96 std::scoped_lock<std::mutex> sl{ m_mutex };
104 std::scoped_lock<std::mutex> sl{ m_mutex };
113 std::scoped_lock<std::mutex> sl{ m_mutex };
119 T* m_wrapped{
nullptr };
Proxy(Private, T *toWrap)
Definition mostlyharmless_Proxy.h:80
static std::shared_ptr< Proxy< T > > create(T *toWrap) noexcept
Definition mostlyharmless_Proxy.h:87
T * getWrapped() noexcept
Definition mostlyharmless_Proxy.h:95
bool isValid() noexcept
Definition mostlyharmless_Proxy.h:112
void null() noexcept
Definition mostlyharmless_Proxy.h:103
Contains general purpose utility classes & functions.
Definition mostlyharmless_TaskThread.h:12