Compare Revisions

nsCountedRef

Change Revisions

Revision 140539:

Revision 140539 by Karlt on

Revision 140540:

Revision 140540 by Karlt on

Title:
nsCountedRef
nsCountedRef
Slug:
NsCountedRef
NsCountedRef
Content:

Revision 140539
Revision 140540
t8      nsCountedRef<T> is a template class implementing an ot8      nsCountedRef<T> is a template class implementing an o
>bject that takes a strong<br>>bject that takes a strong reference to a reference-counted resour
 >ce that must be released, typically on destruction of the object.
9      reference to a reference-counted resource that must be rele9    </p>
>ased, typically on<br> 
10      destruction of the object.<br>10    <p>
11      <br>11      nsCountedRef has a role similar to <a class="internal" href
 >="/en/nsRefPtr" title="En/NsRefPtr">nsRefPtr</a> but does not req
 >uire that the handle is a pointer to an object that has AddRef() 
 >and Release() methods. nsCountedRef is therefore useful for manag
 >ing references to foreign objects.
12      nsCountedRef has a role similar to <a class="internal" href12    </p>
>="/En/NsRefPtr" title="En/NsRefPtr">nsRefPtr</a> but does not req 
>uire that the<br> 
13      handle is a pointer to an object that has AddRef() and Rele13    <p>
>ase() methods.<br> 
14      nsCountedRef is therefore useful for managing references to14      nsCountedRef&lt;T&gt; is derived from <a class="internal" h
> foreign objects.<br>>ref="/En/NsAutoRef" title="En/NsAutoRef">nsAutoRef</a>&lt;T&gt; a
 >nd so inherits its methods. nsCountedRef differs from nsAutoRef i
 >n that nsCountedRef constructors add a reference to the resource,
 > and in that nsCountedRef provides copy construction&lt; and assi
 >gnment operators enabling more than one concurrent reference to t
 >he same resource.
15      <br>15    </p>
16      nsCountedRef&lt;T&gt; is derived from <a class="internal" h16    <p>
>ref="/En/NsAutoRef" title="En/NsAutoRef">nsAutoRef</a>&lt;T&gt; a 
>nd so inherits its methods.<br> 
17      nsCountedRef differs from nsAutoRef in that nsCountedRef co17      In order to use nsCountedRef&lt;T&gt; for a class T associa
>nstructors add a<br>>ted with a particular resource type, the type of the handle to th
 >e resource and the methods for referencing and releasing the reso
 >urce must be provided for class T.&nbsp; This is usually done by 
 >providing a specialization of <a class="internal" href="/En/NsAut
 >oRefTraits" title="En/NsAutoRefTraits">nsAutoRefTraits</a>&lt;T&g
 >t;.
18      reference to the resource, and in that nsCountedRef provide18    </p>
>s copy construction<br> 
19      and assignment operators enabling more than one concurrent 19    <p>
>reference to<br> 
20      the same resource.<br>
21      <br>
22      In order to use nsCountedRef&lt;T&gt; for a class T associa
>ted with a particular<br> 
23      resource type, the type of the handle to the resource and t
>he methods for<br> 
24      referencing and releasing the resource must be provided for
> class T.&nbsp; This is<br> 
25      usually done by providing a specialization of <a class="int
>ernal" href="/En/NsAutoRefTraits" title="En/NsAutoRefTraits">nsAu 
>toRefTraits</a>&lt;T&gt;.<br> 
26      <br>
27      nsCountedRef&lt;T&gt; is defined in {{ Source("xpcom/base/n20      nsCountedRef&lt;T&gt; is defined in {{ Source("xpcom/base/n
>sAutoRef.h") }}.<br>>sAutoRef.h") }}.
28      <br>21    </p>
22    <h3 id="See_Also">
29      See Also<br>23      See Also
30      <br>24    </h3>
25    <p>

Back to History