llvm-project/clang/docs
Douglas Gregor e46db90c9a Objective-ARC++: infer template type arguments of
ownership-unqualified retainable object type as __strong. This allows
us to write, e.g.,

  std::vector<id>

and we'll infer that the vector's element types have __strong
ownership semantics, which is far nicer than requiring:

  std::vector<__strong id>

Note that we allow one to override the ownership qualifier of a
substituted template type parameter, e.g., given

  template<typename T>
  struct X {
    typedef __weak T type;
  };

X<id> is treated the same as X<__strong id>. At instantiation type,
the __weak in "__weak T" overrides the (inferred or specified)
__strong on the template argument type, so that we can still provide
metaprogramming transformations.

This is part of <rdar://problem/9595486>.

llvm-svn: 133303
2011-06-17 22:11:49 +00:00
..
tools Documentation for -Oz; Updated synopsis and item. 2011-04-30 02:04:10 +00:00
AnalyzerRegions.html Reverted r103214. 2010-05-07 00:42:33 +00:00
AutomaticReferenceCounting.html Objective-ARC++: infer template type arguments of 2011-06-17 22:11:49 +00:00
Block-ABI-Apple.txt expand discussion of __block C++ on-stack objects 2010-10-28 23:30:10 +00:00
BlockLanguageSpec.txt fix example as per rdar://problem/9461587 2011-06-14 21:41:00 +00:00
DriverArchitecture.png Reverted r103214. 2010-05-07 00:42:33 +00:00
DriverInternals.html fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
InternalsManual.html Code modification hints have been known as fix-it hints for almost 2011-03-21 01:45:18 +00:00
LanguageExtensions.html Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
Makefile Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in. 2011-05-13 03:29:06 +00:00
PCHInternals.html Update 'docs/PCHInternals.html' about how subexpressions are stored. 2010-09-13 17:48:02 +00:00
PCHLayout.graffle Reverted r103214. 2010-05-07 00:42:33 +00:00
PCHLayout.png Reverted r103214. 2010-05-07 00:42:33 +00:00
PTHInternals.html Reverted r103214. 2010-05-07 00:42:33 +00:00
UsersManual.html mention new VLA behavior in gnu* vs c* mode dox. 2011-06-15 00:41:40 +00:00
doxygen.cfg.in Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in. 2011-05-13 03:29:06 +00:00
doxygen.css Reverted r103214. 2010-05-07 00:42:33 +00:00
doxygen.footer Reverted r103214. 2010-05-07 00:42:33 +00:00
doxygen.header Reverted r103214. 2010-05-07 00:42:33 +00:00
doxygen.intro Reverted r103214. 2010-05-07 00:42:33 +00:00