JS::AutoIdArray 编辑

This article covers features introduced in SpiderMonkey 17

Take ownership of a JSIdArray and free it later.

Syntax

AutoIdArray(JSContext *cx, JSIdArray *ida);
NameTypeDescription
cxJSContext *The context in which to add the root. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
idaJSIdArray *A pointer to JSIdArray to take the ownership.

Methods

MethodDescription
bool operator!() constReturn true if this has no owned array.
jsid operator[](size_t i) constReturn a jsid in specified index of the owned array.
size_t length() constReturn the length of the owned array.
JSIdArray *steal()Return the owned array and release the ownership.

Description

JS::AutoIdArray takes the ownership of JSIdArray, and frees it in destructor by calling JS_DestroyIdArray.

Examples

{
  JS::AutoIdArray ids(cx, JS_Enumerate(cx, obj));
  if (!ids) // Check the returned value from JS_Enumerate
    return false;

  for (int32_t i = 0, len = ids.length(); i < len; i++) {
    someFunc(cx, ids[i]);
  }

  /* when leaving this scope, the JSIdArray returned by JS_Enumerate is freed. */
}

See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:111 次

字数:3958

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文