4#include "MRPch/MRBindingMacros.h"
25 [[nodiscard]]
const T*
get() {
return obj_.get(); }
28 [[nodiscard]] std::shared_ptr<const T>
getPtr() {
return obj_; }
44 std::shared_ptr<T> obj_;
47 std::shared_ptr<TbbTaskArenaAndGroup> construction_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:79
Definition MRSharedThreadSafeOwner.h:19
MRMESH_API void update(const std::function< void(T &)> &updater)
MRMESH_API size_t heapBytes() const
returns the amount of memory this object occupies on heap
const T * get()
returns the currently owned instance, the pointer becomes invalid after reset() or update()
Definition MRSharedThreadSafeOwner.h:25
MRMESH_API void reset()
stops owning T-instance
MRMESH_API const T & getOrCreate(const std::function< T()> &creator)
std::shared_ptr< const T > getPtr()
returns the currently owned instance
Definition MRSharedThreadSafeOwner.h:28