OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright 2014 The Chromium Authors. All rights reserved. | 3 Copyright 2014 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 <html> | 7 <html> |
8 <head> | 8 <head> |
9 <meta charset="utf-8"> | 9 <meta charset="utf-8"> |
10 <title>C++11 use in Chromium</title> | 10 <title>C++11 use in Chromium</title> |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 <td>Recommended to increase readability. Approved without discussion.</td> | 73 <td>Recommended to increase readability. Approved without discussion.</td> |
74 </tr> | 74 </tr> |
75 | 75 |
76 <tr> | 76 <tr> |
77 <td>Automatic Types</td> | 77 <td>Automatic Types</td> |
78 <td><code>auto</code></td> | 78 <td><code>auto</code></td> |
79 <td>Automatic type deduction</td> | 79 <td>Automatic type deduction</td> |
80 <td><a href="http://en.cppreference.com/w/cpp/language/auto"> | 80 <td><a href="http://en.cppreference.com/w/cpp/language/auto"> |
81 auto specifier</a></td> | 81 auto specifier</a></td> |
82 <td>Use according to the <a | 82 <td>Use according to the <a |
83 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#auto">Goo
gle | 83 href="https://google.github.io/styleguide/cppguide.html#auto">Google |
84 Style Guide on <code>auto</code></a>. <a href="https://groups.google.com/a/chrom
ium.org/forum/#!topic/chromium-dev/OQyYSfH9m2M">Discussion thread</a>. <a href="
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/5-Bt3BJzAo0"
>Another discussion thread</a>.</td> | 84 Style Guide on <code>auto</code></a>. <a href="https://groups.google.com/a/chrom
ium.org/forum/#!topic/chromium-dev/OQyYSfH9m2M">Discussion thread</a>. <a href="
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/5-Bt3BJzAo0"
>Another discussion thread</a>.</td> |
85 </tr> | 85 </tr> |
86 | 86 |
87 <tr> | 87 <tr> |
88 <td>Declared Type Accessor</td> | 88 <td>Declared Type Accessor</td> |
89 <td><code>decltype(<i>expression</i>)</code></td> | 89 <td><code>decltype(<i>expression</i>)</code></td> |
90 <td>Provides a means to determine the type of an expression at compile-time, | 90 <td>Provides a means to determine the type of an expression at compile-time, |
91 useful most often in templates.</td> | 91 useful most often in templates.</td> |
92 <td><a href="http://en.cppreference.com/w/cpp/language/decltype"> | 92 <td><a href="http://en.cppreference.com/w/cpp/language/decltype"> |
93 decltype specifier</a></td> | 93 decltype specifier</a></td> |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 148 |
149 <tr> | 149 <tr> |
150 <td>Lambda Expressions</td> | 150 <td>Lambda Expressions</td> |
151 <td><code>[<i>captures</i>](<i>params</i>) -> <i>ret</i> { <i>body</i> }</cod
e></td> | 151 <td><code>[<i>captures</i>](<i>params</i>) -> <i>ret</i> { <i>body</i> }</cod
e></td> |
152 <td>Anonymous functions</td> | 152 <td>Anonymous functions</td> |
153 <td><a href="http://en.cppreference.com/w/cpp/language/lambda">Lambda functions<
/a></td> | 153 <td><a href="http://en.cppreference.com/w/cpp/language/lambda">Lambda functions<
/a></td> |
154 <td>Do not bind or store lambdas; use <code>base::Bind</code> and | 154 <td>Do not bind or store lambdas; use <code>base::Bind</code> and |
155 <code>base::Callback</code> instead, because they offer protection against a | 155 <code>base::Callback</code> instead, because they offer protection against a |
156 large class of object lifetime mistakes. Don't use default captures | 156 large class of object lifetime mistakes. Don't use default captures |
157 (<code>[=]</code>, <code>[&]</code> – <a | 157 (<code>[=]</code>, <code>[&]</code> – <a |
158 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Lambda_
expressions">Google Style Guide</a>). | 158 href="https://google.github.io/styleguide/cppguide.html#Lambda_expressions">Go
ogle Style Guide</a>). |
159 Lambdas are typically useful as a parameter to methods or | 159 Lambdas are typically useful as a parameter to methods or |
160 functions that will use them immediately, such as those in | 160 functions that will use them immediately, such as those in |
161 <code><algorithm></code>. <a | 161 <code><algorithm></code>. <a |
162 href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/D9Un
nxBnciQ">Discussion | 162 href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/D9Un
nxBnciQ">Discussion |
163 thread</a></td> | 163 thread</a></td> |
164 </tr> | 164 </tr> |
165 | 165 |
166 <tr> | 166 <tr> |
167 <td>Local Types as Template Arguments</td> | 167 <td>Local Types as Template Arguments</td> |
168 <td></td> | 168 <td></td> |
169 <td>Allows local and unnamed types as template arguments</td> | 169 <td>Allows local and unnamed types as template arguments</td> |
170 <td><a href="http://stackoverflow.com/questions/742607/using-local-classes-with-
stl-algorithms"> | 170 <td><a href="http://stackoverflow.com/questions/742607/using-local-classes-with-
stl-algorithms"> |
171 Local types, types without linkage and unnamed types as template arguments</a></
td> | 171 Local types, types without linkage and unnamed types as template arguments</a></
td> |
172 <td>Usage should be rare. Approved without discussion.</td> | 172 <td>Usage should be rare. Approved without discussion.</td> |
173 </tr> | 173 </tr> |
174 | 174 |
175 <tr> | 175 <tr> |
176 <td>Non-Static Class Member Initializers</td> | 176 <td>Non-Static Class Member Initializers</td> |
177 <td> | 177 <td> |
178 <code> | 178 <code> |
179 class C {<br /> | 179 class C {<br /> |
180 <i>type</i> <i>var</i> = <i>value</i>;<br/> | 180 <i>type</i> <i>var</i> = <i>value</i>;<br/> |
181 C() // copy-initializes <i>var</i><br/> | 181 C() // copy-initializes <i>var</i><br/> |
182 </code> | 182 </code> |
183 <td>Allows non-static class members to be initialized at their definitions (outs
ide constructors)</td> | 183 <td>Allows non-static class members to be initialized at their definitions (outs
ide constructors)</td> |
184 <td><a href="http://en.cppreference.com/w/cpp/language/data_members"> | 184 <td><a href="http://en.cppreference.com/w/cpp/language/data_members"> |
185 Non-static data members</a></td> | 185 Non-static data members</a></td> |
186 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#In
itialization">Google | 186 <td> |
187 Style Guide</a>. | |
188 <a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/zqB
-DySA4V0">Discussion thread</a> | 187 <a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/zqB
-DySA4V0">Discussion thread</a> |
189 </td> | 188 </td> |
190 </tr> | 189 </tr> |
191 | 190 |
192 <tr> | 191 <tr> |
193 <td>Null Pointer Constant</td> | 192 <td>Null Pointer Constant</td> |
194 <td><code>nullptr</code></td> | 193 <td><code>nullptr</code></td> |
195 <td>Declares a type-safe null pointer</td> | 194 <td>Declares a type-safe null pointer</td> |
196 <td><a href="http://en.cppreference.com/w/cpp/language/nullptr"> | 195 <td><a href="http://en.cppreference.com/w/cpp/language/nullptr"> |
197 nullptr</a></td> | 196 nullptr</a></td> |
198 <td>Recommended for new code. | 197 <td>Recommended for new code. |
199 <a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/4mi
jeJHzxLg">Discussion thread</a>. | 198 <a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/4mi
jeJHzxLg">Discussion thread</a>. |
200 <a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#0_and_
nullptr/NULL">Google Style Guide</a>. | 199 <a href="https://google.github.io/styleguide/cppguide.html#0_and_nullptr/NULL">G
oogle Style Guide</a>. |
201 <code>std::nullptr_t</code> can be used too. | 200 <code>std::nullptr_t</code> can be used too. |
202 </td> | 201 </td> |
203 </tr> | 202 </tr> |
204 | 203 |
205 <tr> | 204 <tr> |
206 <td>Override Specifier</td> | 205 <td>Override Specifier</td> |
207 <td><code>override</code></td> | 206 <td><code>override</code></td> |
208 <td>Indicates that a class or function overrides a base implementation</td> | 207 <td>Indicates that a class or function overrides a base implementation</td> |
209 <td><a href="http://en.cppreference.com/w/cpp/language/override">override Langua
ge Reference</a></td> | 208 <td><a href="http://en.cppreference.com/w/cpp/language/override">override Langua
ge Reference</a></td> |
210 <td>Recommended for new code. Existing uses of the <code>OVERRIDE</code> macro w
ill be <a href="https://crbug.com/417463">replaced throughout the codebase</a>.
<a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/VTN
ZzizN0zo">Discussion</a></td> | 209 <td>Recommended for new code. Existing uses of the <code>OVERRIDE</code> macro w
ill be <a href="https://crbug.com/417463">replaced throughout the codebase</a>.
<a href="https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/VTN
ZzizN0zo">Discussion</a></td> |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 <th style='width:240px;'>Notes</th> | 304 <th style='width:240px;'>Notes</th> |
306 </tr> | 305 </tr> |
307 | 306 |
308 <tr> | 307 <tr> |
309 <td>Constant Expressions</td> | 308 <td>Constant Expressions</td> |
310 <td><code>constexpr</code></td> | 309 <td><code>constexpr</code></td> |
311 <td>Compile-time constant expressions</td> | 310 <td>Compile-time constant expressions</td> |
312 <td><a href="http://en.cppreference.com/w/cpp/language/constexpr"> | 311 <td><a href="http://en.cppreference.com/w/cpp/language/constexpr"> |
313 constexpr specifier</a></td> | 312 constexpr specifier</a></td> |
314 <td>Doesn't work in MSVS2013. Reevalute once it does. <a | 313 <td>Doesn't work in MSVS2013. Reevalute once it does. <a |
315 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Use_of_co
nstexpr">Google | 314 href="https://google.github.io/styleguide/cppguide.html#Use_of_constexpr">Google |
316 Style Guide on <code>constexpr</code></a></td> | 315 Style Guide on <code>constexpr</code></a></td> |
317 </tr> | 316 </tr> |
318 | 317 |
319 <tr> | 318 <tr> |
320 <td>Explicit Conversion Operators</td> | 319 <td>Explicit Conversion Operators</td> |
321 <td><code>explicit operator <i>type</i>() { | 320 <td><code>explicit operator <i>type</i>() { |
322 <br /> // code<br /> }</code></td> | 321 <br /> // code<br /> }</code></td> |
323 <td>Allows conversion operators that cannot be implicitly invoked</td> | 322 <td>Allows conversion operators that cannot be implicitly invoked</td> |
324 <td><a href="http://en.cppreference.com/w/cpp/language/explicit"> | 323 <td><a href="http://en.cppreference.com/w/cpp/language/explicit"> |
325 explicit specifier</a></td> | 324 explicit specifier</a></td> |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 <tr> | 386 <tr> |
388 <td>UTF-16 and UTF-32 Support (16-Bit and 32-Bit Character Types)</td> | 387 <td>UTF-16 and UTF-32 Support (16-Bit and 32-Bit Character Types)</td> |
389 <td><code>char16_t</code> and <code>char32_t</code></td> | 388 <td><code>char16_t</code> and <code>char32_t</code></td> |
390 <td>Provides character types for handling 16-bit | 389 <td>Provides character types for handling 16-bit |
391 and 32-bit code units (useful for encoding | 390 and 32-bit code units (useful for encoding |
392 UTF-16 and UTF-32 string data)</td> | 391 UTF-16 and UTF-32 string data)</td> |
393 <td><a href="http://en.cppreference.com/w/cpp/language/types"> | 392 <td><a href="http://en.cppreference.com/w/cpp/language/types"> |
394 Fundamental types</a></td> | 393 Fundamental types</a></td> |
395 <td>Doesn't work in MSVS2013. Reevaluate once it does. Non-UTF-8 text is | 394 <td>Doesn't work in MSVS2013. Reevaluate once it does. Non-UTF-8 text is |
396 banned by the | 395 banned by the |
397 <a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Non-AS
CII_Characters"> | 396 <a href="https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters"
> |
398 C++ Style Guide</a>. However, may be useful for | 397 C++ Style Guide</a>. However, may be useful for |
399 consuming non-ASCII data. <a href="https://groups.google.com/a/chromium.org/foru
m/#!topic/chromium-dev/ME2kL7_Kvyk">Discussion thread</a></td> | 398 consuming non-ASCII data. <a href="https://groups.google.com/a/chromium.org/foru
m/#!topic/chromium-dev/ME2kL7_Kvyk">Discussion thread</a></td> |
400 </tr> | 399 </tr> |
401 | 400 |
402 <tr> | 401 <tr> |
403 <td>UTF-8, UTF-16, UTF-32 String Literals</td> | 402 <td>UTF-8, UTF-16, UTF-32 String Literals</td> |
404 <td><code>u8"<i>string</i>", u"<i>string</i>", U"<i>str
ing</i>"</code></td> | 403 <td><code>u8"<i>string</i>", u"<i>string</i>", U"<i>str
ing</i>"</code></td> |
405 <td>Enforces UTF-8, UTF-16, UTF-32 encoding on all string literals</td> | 404 <td>Enforces UTF-8, UTF-16, UTF-32 encoding on all string literals</td> |
406 <td><a href="http://en.cppreference.com/w/cpp/language/string_literal"> | 405 <td><a href="http://en.cppreference.com/w/cpp/language/string_literal"> |
407 string literal</a></td> | 406 string literal</a></td> |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 | 504 |
506 <tr> | 505 <tr> |
507 <td>Exception Features</td> | 506 <td>Exception Features</td> |
508 <td><code>noexcept</code>, <code>exception_ptr</code>, | 507 <td><code>noexcept</code>, <code>exception_ptr</code>, |
509 <code>current_exception()</code>, <code>rethrow_exception</code>, | 508 <code>current_exception()</code>, <code>rethrow_exception</code>, |
510 and <code>nested_exception</code></td> | 509 and <code>nested_exception</code></td> |
511 <td>Enhancements to exception throwing and handling</td> | 510 <td>Enhancements to exception throwing and handling</td> |
512 <td><a href="http://en.cppreference.com/w/cpp/error/exception"> | 511 <td><a href="http://en.cppreference.com/w/cpp/error/exception"> |
513 std::exception</a></td> | 512 std::exception</a></td> |
514 <td>Exceptions are banned by the | 513 <td>Exceptions are banned by the |
515 <a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Except
ions"> C++ Style Guide</a>. <a href="https://groups.google.com/a/chromium.org/fo
rum/#!topic/chromium-dev/8i4tMqNpHhg">Discussion thread</a></td> | 514 <a href="https://google.github.io/styleguide/cppguide.html#Exceptions"> C++ Styl
e Guide</a>. <a href="https://groups.google.com/a/chromium.org/forum/#!topic/chr
omium-dev/8i4tMqNpHhg">Discussion thread</a></td> |
516 </tr> | 515 </tr> |
517 | 516 |
518 <tr> | 517 <tr> |
519 <td>Inline Namespaces</td> | 518 <td>Inline Namespaces</td> |
520 <td><code>inline</code></td> | 519 <td><code>inline</code></td> |
521 <td>Allows better versioning of namespaces</td> | 520 <td>Allows better versioning of namespaces</td> |
522 <td><a href="http://en.cppreference.com/w/cpp/language/namespace">Namespaces</a>
</td> | 521 <td><a href="http://en.cppreference.com/w/cpp/language/namespace">Namespaces</a>
</td> |
523 <td>Unclear how it will work with components</td> | 522 <td>Unclear how it will work with components</td> |
524 </tr> | 523 </tr> |
525 | 524 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 <th style='width:240px;'>Documentation Link</th> | 566 <th style='width:240px;'>Documentation Link</th> |
568 <th style='width:240px;'>Style Guide Usage</th> | 567 <th style='width:240px;'>Style Guide Usage</th> |
569 </tr> | 568 </tr> |
570 | 569 |
571 <tr> | 570 <tr> |
572 <td>Address Retrieval</td> | 571 <td>Address Retrieval</td> |
573 <td><code>std::addressof()</code></td> | 572 <td><code>std::addressof()</code></td> |
574 <td>Obtains the address of an object even with overloaded <code>operator&</c
ode></td> | 573 <td>Obtains the address of an object even with overloaded <code>operator&</c
ode></td> |
575 <td><a href="http://en.cppreference.com/w/cpp/memory/addressof">std::addressof</
a></td> | 574 <td><a href="http://en.cppreference.com/w/cpp/memory/addressof">std::addressof</
a></td> |
576 <td>Usage should be rare as | 575 <td>Usage should be rare as |
577 <a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Operat
or_Overloading"> | 576 <a href="https://google.github.io/styleguide/cppguide.html#Operator_Overloading"
> |
578 Operator Overloading</a> is rare and <code>&s;</code> | 577 Operator Overloading</a> is rare and <code>&s;</code> |
579 should suffice in most cases. May be preferable | 578 should suffice in most cases. May be preferable |
580 over <code>&s;</code> for performing object | 579 over <code>&s;</code> for performing object |
581 identity checks.</td> | 580 identity checks.</td> |
582 </tr> | 581 </tr> |
583 | 582 |
584 <tr> | 583 <tr> |
585 <td>Aligned Storage</td> | 584 <td>Aligned Storage</td> |
586 <td><code>std::aligned_storage<Size, Align>::type</code> | 585 <td><code>std::aligned_storage<Size, Align>::type</code> |
587 <code>std::alignment_of<T></code>, | 586 <code>std::alignment_of<T></code>, |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 <td><a href="http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=
217"> | 848 <td><a href="http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=
217"> |
850 Reference Wrappers</a></td> | 849 Reference Wrappers</a></td> |
851 <td></td> | 850 <td></td> |
852 </tr> | 851 </tr> |
853 | 852 |
854 <tr> | 853 <tr> |
855 <td>Shared Pointers</td> | 854 <td>Shared Pointers</td> |
856 <td><code>std::shared_ptr</code></td> | 855 <td><code>std::shared_ptr</code></td> |
857 <td>Allows shared ownership of a pointer through reference counts</td> | 856 <td>Allows shared ownership of a pointer through reference counts</td> |
858 <td><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr">std::shared_ptr
</a></td> | 857 <td><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr">std::shared_ptr
</a></td> |
859 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Ow
nership_and_Smart_Pointers"> | 858 <td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Sma
rt_Pointers"> |
860 Ownership and Smart Pointers</a></td> | 859 Ownership and Smart Pointers</a></td> |
861 </tr> | 860 </tr> |
862 | 861 |
863 <tr> | 862 <tr> |
864 <td>Soft Program Exits</td> | 863 <td>Soft Program Exits</td> |
865 <td><code>std::at_quick_exit()</code> | 864 <td><code>std::at_quick_exit()</code> |
866 and <code>std::quick_exit()</code></td> | 865 and <code>std::quick_exit()</code></td> |
867 <td>Allows registration of functions to be called upon exit, | 866 <td>Allows registration of functions to be called upon exit, |
868 allowing cleaner program exit than <code>abort()</code> or | 867 allowing cleaner program exit than <code>abort()</code> or |
869 <code>exit</code></td> | 868 <code>exit</code></td> |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
964 <td><a href="http://en.cppreference.com/w/cpp/header/type_traits"> | 963 <td><a href="http://en.cppreference.com/w/cpp/header/type_traits"> |
965 Standard library header <type_traits></a></td> | 964 Standard library header <type_traits></a></td> |
966 <td></td> | 965 <td></td> |
967 </tr> | 966 </tr> |
968 | 967 |
969 <tr> | 968 <tr> |
970 <td>Unique Pointers</td> | 969 <td>Unique Pointers</td> |
971 <td><code>std::unique_ptr<<i>type</i>></code></td> | 970 <td><code>std::unique_ptr<<i>type</i>></code></td> |
972 <td>Defines a pointer with clear and unambiguous ownership</td> | 971 <td>Defines a pointer with clear and unambiguous ownership</td> |
973 <td>TODO: documentation link</td> | 972 <td>TODO: documentation link</td> |
974 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Ow
nership_and_Smart_Pointers"> | 973 <td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Sma
rt_Pointers"> |
975 Ownership and Smart Pointers</a></td> | 974 Ownership and Smart Pointers</a></td> |
976 </tr> | 975 </tr> |
977 | 976 |
978 <tr> | 977 <tr> |
979 <td>Unordered Associative Containers</td> | 978 <td>Unordered Associative Containers</td> |
980 <td><code>std::unordered_set</code>, <code>std::unordered_map</code>, | 979 <td><code>std::unordered_set</code>, <code>std::unordered_map</code>, |
981 <code>std::unordered_multiset</code>, and <code>std::unordered_multimap</code></
td> | 980 <code>std::unordered_multiset</code>, and <code>std::unordered_multimap</code></
td> |
982 <td>Allows efficient containers of key/value pairs</td> | 981 <td>Allows efficient containers of key/value pairs</td> |
983 <td><a href="http://en.cppreference.com/w/cpp/container/unordered_map">std::unor
dered_map</a> | 982 <td><a href="http://en.cppreference.com/w/cpp/container/unordered_map">std::unor
dered_map</a> |
984 and <a href="http://en.cppreference.com/w/cpp/container/unordered_set">std::unor
dered_set</a> | 983 and <a href="http://en.cppreference.com/w/cpp/container/unordered_set">std::unor
dered_set</a> |
985 </td> | 984 </td> |
986 <td></td> | 985 <td></td> |
987 </tr> | 986 </tr> |
988 | 987 |
989 <tr> | 988 <tr> |
990 <td>Variadic Copy Macro</td> | 989 <td>Variadic Copy Macro</td> |
991 <td><code>va_copy(va_list <i>dest</i>, va_list <i>src</i>)</code></td> | 990 <td><code>va_copy(va_list <i>dest</i>, va_list <i>src</i>)</code></td> |
992 <td>Makes a copy of the variadic function arguments</td> | 991 <td>Makes a copy of the variadic function arguments</td> |
993 <td></td> | 992 <td></td> |
994 <td></td> | 993 <td></td> |
995 </tr> | 994 </tr> |
996 | 995 |
997 <tr> | 996 <tr> |
998 <td>Weak Pointers</td> | 997 <td>Weak Pointers</td> |
999 <td><code>std::weak_ptr</code></td> | 998 <td><code>std::weak_ptr</code></td> |
1000 <td>Allows a weak reference to a <code>std::shared_ptr</code></td> | 999 <td>Allows a weak reference to a <code>std::shared_ptr</code></td> |
1001 <td><a href="http://en.cppreference.com/w/cpp/memory/weak_ptr"> | 1000 <td><a href="http://en.cppreference.com/w/cpp/memory/weak_ptr"> |
1002 std::weak_ptr</a></td> | 1001 std::weak_ptr</a></td> |
1003 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Ow
nership_and_Smart_Pointers"> | 1002 <td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Sma
rt_Pointers"> |
1004 Ownership and Smart Pointers</a></td> | 1003 Ownership and Smart Pointers</a></td> |
1005 </tr> | 1004 </tr> |
1006 | 1005 |
1007 <tr> | 1006 <tr> |
1008 <td>Wide String Support</td> | 1007 <td>Wide String Support</td> |
1009 <td><code>std::wstring_convert</code>, | 1008 <td><code>std::wstring_convert</code>, |
1010 <code>std::wbuffer_convert</code>. | 1009 <code>std::wbuffer_convert</code>. |
1011 <code>std::codecvt_utf8</code>, <code>std::codecvt_utf16</code>, | 1010 <code>std::codecvt_utf8</code>, <code>std::codecvt_utf16</code>, |
1012 and <code>std::codecvt_utf8_utf16</code></td> | 1011 and <code>std::codecvt_utf8_utf16</code></td> |
1013 <td>Converts between string encodings</td> | 1012 <td>Converts between string encodings</td> |
1014 <td><a href="http://en.cppreference.com/w/cpp/locale/wstring_convert"> | 1013 <td><a href="http://en.cppreference.com/w/cpp/locale/wstring_convert"> |
1015 std::wstring_convert</a>, | 1014 std::wstring_convert</a>, |
1016 <a href="http://en.cppreference.com/w/cpp/locale/wbuffer_convert"> | 1015 <a href="http://en.cppreference.com/w/cpp/locale/wbuffer_convert"> |
1017 std::wbuffer_convert</a>, | 1016 std::wbuffer_convert</a>, |
1018 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf8"> | 1017 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf8"> |
1019 std::codecvt_utf8</a>, | 1018 std::codecvt_utf8</a>, |
1020 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf16"> | 1019 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf16"> |
1021 std::codecvt_utf16</a>, and | 1020 std::codecvt_utf16</a>, and |
1022 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf8_utf16"> | 1021 <a href="http://en.cppreference.com/w/cpp/locale/codecvt_utf8_utf16"> |
1023 std::codecvt_utf8_utf16</a> | 1022 std::codecvt_utf8_utf16</a> |
1024 </td> | 1023 </td> |
1025 <td>Non-UTF-8 text is banned by the | 1024 <td>Non-UTF-8 text is banned by the |
1026 <a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Non-AS
CII_Characters"> | 1025 <a href="https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters"
> |
1027 C++ Style Guide</a>. However, may be useful for | 1026 C++ Style Guide</a>. However, may be useful for |
1028 consuming non-ASCII data.</td> | 1027 consuming non-ASCII data.</td> |
1029 </tr> | 1028 </tr> |
1030 | 1029 |
1031 </tbody> | 1030 </tbody> |
1032 </table> | 1031 </table> |
1033 | 1032 |
1034 </div> | 1033 </div> |
1035 </body> | 1034 </body> |
1036 </html> | 1035 </html> |
OLD | NEW |