载入中...
搜索中...
未找到
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary. 更多...
#include "common/Export.h"#include "common/Result.h"#include "common/RuntimeHandle.h"#include "common/RuntimeRegistry.h"#include "common/Value.h"#include <squirrel.h>#include <simplesquirrel/simplesquirrel.hpp>#include <atomic>#include <cstdint>#include <exception>#include <functional>#include <limits>#include <memory>#include <optional>#include <string>#include <type_traits>#include <typeinfo>#include <utility>#include <vector>类 | |
| class | eve::script::BorrowedSquirrelObject |
| Borrowed view of a rooted Squirrel object for one synchronous call. 更多... | |
| class | eve::script::ISquirrelRootReleaser |
| Releases C++-owned Squirrel roots before Runtime destroys its VM. 更多... | |
| class | eve::script::OwnedSquirrelObject |
| A rooted Squirrel reference owned by the C++ holder. 更多... | |
命名空间 | |
| namespace | eve |
| Build metadata (engine git commit, build time, third-party version). | |
| namespace | eve::script |
| namespace | eve::script::detail |
类型定义 | |
| using | eve::script::ScriptValue = eve::Value |
| Canonical detached script value; it never aliases a VM object. | |
枚举 | |
| enum class | eve::script::ObjectSemantic { eve::script::Value , eve::script::Owned , eve::script::Borrowed } |
| The only three meanings a script-facing object may have. 更多... | |
函数 | |
| const char * | eve::script::objectSemanticName (ObjectSemantic semantic) noexcept |
| Returns the stable name used by diagnostics and documentation. | |
| BorrowedSquirrelObject | eve::script::borrowSquirrelObject (const ssq::Object &object) noexcept |
| Creates a one-call Borrowed view without retaining a VM reference. | |
| eve::Result< OwnedSquirrelObject > | eve::script::ownSquirrelObject (BorrowedSquirrelObject borrowed) |
| Promotes a borrowed VM object to an explicit rooted owner. | |
| Diagnostic | eve::script::detail::ownedInstanceArgumentDiagnostic () |
| Diagnostic for a null VM or null object, built once instead of per T. | |
| Result< ssq::Object > | eve::script::detail::makeOwnedSquirrelInstanceRaw (HSQUIRRELVM vm, void *object, SquirrelReleaseHook releaseHook, OwnedInstanceDestroy destroy, std::size_t typeHash) |
| Non-template core of makeOwnedSquirrelInstance. | |
| template<class T > | |
| eve::Result< ssq::Object > | eve::script::makeOwnedSquirrelInstance (HSQUIRRELVM vm, Owned< T > object) |
| Creates a Squirrel instance that owns a C++ wrapper through a release hook. | |
详细描述
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary.
在文件 SquirrelOwnership.h 中定义.