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);
Name | Type | Description |
---|---|---|
cx | JSContext * | 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 . |
ida | JSIdArray * | A pointer to JSIdArray to take the ownership. |
Methods
Method | Description |
---|---|
bool operator!() const | Return true if this has no owned array. |
jsid operator[](size_t i) const | Return a jsid in specified index of the owned array. |
size_t length() const | Return 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论