mozilla

Compare Revisions

nsAutoRef

Change Revisions

Revision 140537:

Revision 140537 by Karlt on

Revision 140538:

Revision 140538 by Karlt on

Title:
nsAutoRef
nsAutoRef
Slug:
NsAutoRef
NsAutoRef
Content:

Revision 140537
Revision 140538
n8      nsAutoRef<T> is a template class implementing an objen8      nsAutoRef<T> is a template class implementing an obje
>ct that holds a handle to a<br>>ct that holds a handle to a resource that must be released, typic
 >ally on destruction of the object.
9      resource that must be released, typically on destruction of9    </p>
> the object.<br> 
10      <br>10    <p>
11      nsAutoRef has a role similar to nsAutoPtr and <a class="int11      nsAutoRef has a role similar to nsAutoPtr and <a class="int
>ernal" href="/en/nsRefPtr" title="En/NsRefPtr">nsRefPtr</a> but d>ernal" href="/en/nsRefPtr" title="En/NsRefPtr">nsRefPtr</a> but d
>oes not require<br>>oes not require that the handle is a pointer to an object that wa
 >s created with new or has AddRef() and Release() methods.&nbsp; n
 >sAutoRef is therefore useful for managing a reference to a foreig
 >n object.
12      that the handle is a pointer to an object that was created 12    </p>
>with new or has<br> 
13      AddRef() and Release() methods.&nbsp; nsAutoRef is therefor13    <p>
>e useful for managing a<br> 
14      reference to a foreign object.<br>14      No copy constructor nor copy assignment operators are avail
 >able, so the handle to the resource will be held until released o
 >n destruction of the nsAutoRef or until explicitly reset() or tra
 >nsferred through provided methods.
15      <br>15    </p>
16      No copy constructor nor copy assignment operators are avail16    <p>
>able, so the handle<br> 
17      to the resource will be held until released on destruction 17      In order to use nsAutoRef&lt;T&gt; for a class T associated
>of the nsAutoRef or<br>> with a particular resource type, the type of the handle to the r
 >esource and the method for releasing the resource must be provide
 >d for class T.&nbsp; This is usually done by providing a speciali
 >zation of <a class="internal" href="/En/NsAutoRefTraits" title="E
 >n/NsAutoRefTraits">nsAutoRefTraits</a>&lt;T&gt;.
18      until explicitly reset() or transferred through provided me18    </p>
>thods.<br> 
19      <br>19    <p>
20      In order to use nsAutoRef&lt;T&gt; for a class T associated
> with a particular<br> 
21      resource type, the type of the handle to the resource and t
>he method for<br> 
22      releasing the resource must be provided for class T.&nbsp; 
>This is usually done by<br> 
23      providing a specialization of nsAutoRefTraits&lt;T&gt;.<br>
24      <br>
tt21    </p>
22    <h3 id="See_Also">
23      See Also
24    </h3>
25    <p>
26      <a class="internal" href="/En/NsAutoRefTraits" title="En/Ns
 >AutoRefTraits">nsAutoRefTraits</a>, <a class="internal" href="/En
 >/NsCountedRef" title="En/NsCountedRef">nsCountedRef</a>

Back to History