diff options
Diffstat (limited to 'docs/AutomaticReferenceCounting.html')
-rw-r--r-- | docs/AutomaticReferenceCounting.html | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/AutomaticReferenceCounting.html b/docs/AutomaticReferenceCounting.html index 3d34ddb310..e7b8f22365 100644 --- a/docs/AutomaticReferenceCounting.html +++ b/docs/AutomaticReferenceCounting.html @@ -978,9 +978,23 @@ pointer type. Such code is still ill-formed.</p> to be intentional in template code.</p></div> </div> <!-- ownership.inference.indirect_parameters --> + +<div id="ownership.inference.template_arguments"> +<h1>Template arguments</h1> + +<p>If a template argument for a template type parameter is an +retainable object owner type that does not have an explicit ownership +qualifier, it is adjusted to have <tt>__strong</tt> +qualification. This adjustment occurs both regardless of whether the +template argument was deduced or explicitly specified. </p> + +<div class="rationale"><p>Rationale: <tt>__strong</tt> is a useful default for containers (e.g., <tt>std::vector<id></tt>), which would otherwise require explicit qualification. Moreover, unqualified retainable object pointer types are unlikely to be useful within templates, since they generally need to have a qualifier applied to the before being used.</p></div> + +</div> <!-- ownership.inference.template_arguments --> </div> <!-- ownership.inference --> </div> <!-- ownership --> + <div id="family"> <h1>Method families</h1> |