Revision 140537 of nsAutoRef

  • Revision slug: NsAutoRef
  • Revision title: nsAutoRef
  • Revision id: 140537
  • Created:
  • Creator: Karlt
  • Is current revision? No
  • Comment 7 words added

Revision Content

nsAutoRef<T> is a template class implementing an object that holds a handle to a
resource that must be released, typically on destruction of the object.

nsAutoRef has a role similar to nsAutoPtr and nsRefPtr but does not require
that the handle is a pointer to an object that was created with new or has
AddRef() and Release() methods.  nsAutoRef is therefore useful for managing a
reference to a foreign object.

No copy constructor nor copy assignment operators are available, so the handle
to the resource will be held until released on destruction of the nsAutoRef or
until explicitly reset() or transferred through provided methods.

In order to use nsAutoRef<T> for a class T associated with a particular
resource type, the type of the handle to the resource and the method for
releasing the resource must be provided for class T.  This is usually done by
providing a specialization of nsAutoRefTraits<T>.

nsAutoRef is defined in {{ Source("xpcom/base/nsAutoRef.h") }}.

Revision Source

<p>nsAutoRef&lt;T&gt; is a template class implementing an object that holds a handle to a<br>
resource that must be released, typically on destruction of the object.<br>
<br>
nsAutoRef has a role similar to nsAutoPtr and <a class="internal" href="/en/nsRefPtr" title="En/NsRefPtr">nsRefPtr</a> but does not require<br>
that the handle is a pointer to an object that was created with new or has<br>
AddRef() and Release() methods.  nsAutoRef is therefore useful for managing a<br>
reference to a foreign object.<br>
<br>
No copy constructor nor copy assignment operators are available, so the handle<br>
to the resource will be held until released on destruction of the nsAutoRef or<br>
until explicitly reset() or transferred through provided methods.<br>
<br>
In order to use nsAutoRef&lt;T&gt; for a class T associated with a particular<br>
resource type, the type of the handle to the resource and the method for<br>
releasing the resource must be provided for class T.  This is usually done by<br>
providing a specialization of nsAutoRefTraits&lt;T&gt;.<br>
<br>
nsAutoRef is defined in {{ Source("xpcom/base/nsAutoRef.h") }}.</p>
Revert to this revision