载入中...
搜索中...
未找到
RuntimeRegistry.h 文件参考

Tag-free slot registry: handles, borrows, unique ownership and keep-alive pins. 更多...

#include "common/Export.h"
#include "common/Result.h"
#include "common/RuntimeHandle.h"
#include <atomic>
#include <cstdint>
#include <memory>
#include <optional>
#include <type_traits>
#include <utility>
#include <vector>

浏览源代码.

类

class  eve::script::Borrowed< T >
 Non-owning C++ observation with no implicit lifetime extension. 更多...
 
struct  eve::script::RuntimeHandleRef< Tag >
 Handle plus owner-lifetime epoch for a non-ECS registry object. 更多...
 
struct  eve::script::detail::RuntimeSlotCoordinates
 Slot coordinates without the domain tag. 更多...
 
class  eve::script::detail::RuntimeSlotStore
 Tag-free slot store behind every RuntimeObjectRegistry<T, Tag>. 更多...
 
class  eve::script::RuntimePin< T, Tag >
 RAII keep-alive for one RuntimeObjectRegistry entry. 更多...
 
class  eve::script::RuntimeObjectRegistry< T, Tag >
 Slot/generation registry whose objects are exclusively unique-owned. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::script
 
namespace  eve::script::detail
 

类型定义

template<class T >
using eve::script::Owned = std::unique_ptr< T >
 C++ owning storage used by an object factory.
 
using eve::script::detail::OwnedInstanceDestroy = void(*)(void *) noexcept
 Destroys one owned C++ wrapper without knowing its type.
 

函数

template<class T >
void eve::script::detail::ownedInstanceDestroy (void *pointer) noexcept
 Type-erased cleanup used when the VM never took the object.
 

详细描述

Tag-free slot registry: handles, borrows, unique ownership and keep-alive pins.

The Squirrel-independent half of what used to live in SquirrelOwnership.h. It is a separate header so that consumers which never touch the VM - above all the resource cache in common/Resource.h - do not have to see <squirrel.h>.

在文件 RuntimeRegistry.h 中定义.