nsAutoRefTraits 编辑
nsAutoRefTraits<T> is a template class describing traits of resources held by objects of class nsAutoRef<T> and/or nsCountedRef<T>.
When the handle to the resource is a pointer to T the specialization may be derived from nsPointerRefTraits<T>, so that only definitions of the Release(T*) static method and possibly the AddRef(T*) static method need to be added. AddRef(T*) is necessary for nsCountedRef<T> but not for nsAutoRef<T>.
For example:
NS_SPECIALIZE_TEMPLATE class nsAutoRefTraits<PRFileDesc> : public nsPointerRefTraits<PRFileDesc> { public: static void Release(PRFileDesc *ptr) { PR_Close(ptr); } };
or
NS_SPECIALIZE_TEMPLATE class nsAutoRefTraits<FcPattern> : public nsPointerRefTraits<FcPattern> { public: static void Release(FcPattern *ptr) { FcPatternDestroy(ptr); } static void AddRef(FcPattern *ptr) { FcPatternReference(ptr); } };
nsAutoRefTraits is described in xpcom/base/nsAutoRef.h
.
See Also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论