| 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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   291  |   291  | 
|   292 <tr> |   292 <tr> | 
|   293 <td>Move Semantics</td> |   293 <td>Move Semantics</td> | 
|   294 <td><code>std::move()</code></td> |   294 <td><code>std::move()</code></td> | 
|   295 <td>Facilitates efficient move operations</td> |   295 <td>Facilitates efficient move operations</td> | 
|   296 <td><a href="http://en.cppreference.com/w/cpp/utility/move"> |   296 <td><a href="http://en.cppreference.com/w/cpp/utility/move"> | 
|   297 <code>std::move</code> reference</a></td> |   297 <code>std::move</code> reference</a></td> | 
|   298 <td>Note: std::move() is allowed but writing your own move constructors is still
       only allowed in exceptional cases for now, see 'Rvalue References (and Move Sem
      antics)'. <a href='https://groups.google.com/a/chromium.org/forum/#!topic/cxx/x_
      dWFxJFdbM'>Discussion thread</a></td> |   298 <td>Note: std::move() is allowed but writing your own move constructors is still
       only allowed in exceptional cases for now, see 'Rvalue References (and Move Sem
      antics)'. <a href='https://groups.google.com/a/chromium.org/forum/#!topic/cxx/x_
      dWFxJFdbM'>Discussion thread</a></td> | 
|   299 </tr> |   299 </tr> | 
|   300  |   300  | 
 |   301 <tr> | 
 |   302 <td>Conditional Type Selection</td> | 
 |   303 <td><code>std::enable_if</code> and <code>std::conditional</code></td> | 
 |   304 <td>Enables compile-time conditional type selection</td> | 
 |   305 <td><a href="http://en.cppreference.com/w/cpp/types/enable_if"> | 
 |   306 std::enable_if</a> and | 
 |   307 <a href="http://en.cppreference.com/w/cpp/types/conditional"> | 
 |   308 conditional</a></td> | 
 |   309 <td>Usage should be rare.<a href='https://groups.google.com/a/chromium.org/forum
      /#!topic/cxx/vCxo4tZNd_M'>Discussion thread</a></td> | 
 |   310 </tr> | 
 |   311  | 
 |   312 <tr> | 
 |   313 <td>Type Traits</td> | 
 |   314 <td>Class templates within <code><type_traits></code></td> | 
 |   315 <td>Allows compile-time inspection of the properties of types</td> | 
 |   316 <td><a href="http://en.cppreference.com/w/cpp/header/type_traits"> | 
 |   317 Standard library header <type_traits></a></td> | 
 |   318 <td>Note that not all type traits are available on all platforms (eg std::underl
      ying_type doesn't work in libstdc++4.6). Use judiciously. <a href='https://group
      s.google.com/a/chromium.org/forum/#!topic/cxx/vCxo4tZNd_M'>Discussion thread</a>
      </td> | 
 |   319 </tr> | 
 |   320  | 
|   301 </tbody> |   321 </tbody> | 
|   302 </table> |   322 </table> | 
|   303  |   323  | 
|   304 <h2 id="blacklist">C++11 Blacklist (Disallowed and Banned Features)</h2> |   324 <h2 id="blacklist">C++11 Blacklist (Disallowed and Banned Features)</h2> | 
|   305  |   325  | 
|   306 <p>This section lists features that are not allowed to be used yet. |   326 <p>This section lists features that are not allowed to be used yet. | 
|   307  |   327  | 
|   308 <h3 id="blacklist_banned">C++11 Banned Features</h3> |   328 <h3 id="blacklist_banned">C++11 Banned Features</h3> | 
|   309  |   329  | 
|   310 <p>This section lists C++11 features that are not allowed in the Chromium |   330 <p>This section lists C++11 features that are not allowed in the Chromium | 
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   669 <tr> |   689 <tr> | 
|   670 <td>Complex Inverse Trigonometric and Hyperbolic Functions</td> |   690 <td>Complex Inverse Trigonometric and Hyperbolic Functions</td> | 
|   671 <td>Functions within <code><complex></code></td> |   691 <td>Functions within <code><complex></code></td> | 
|   672 <td>Adds inverse trigonomentric and hyperbolic non-member functions to |   692 <td>Adds inverse trigonomentric and hyperbolic non-member functions to | 
|   673 the <code><complex></code> library.</td> |   693 the <code><complex></code> library.</td> | 
|   674 <td><a href="http://en.cppreference.com/w/cpp/numeric/complex">std::complex</a><
      /td> |   694 <td><a href="http://en.cppreference.com/w/cpp/numeric/complex">std::complex</a><
      /td> | 
|   675 <td></td> |   695 <td></td> | 
|   676 </tr> |   696 </tr> | 
|   677  |   697  | 
|   678 <tr> |   698 <tr> | 
|   679 <td>Conditional Type Selection</td> |  | 
|   680 <td><code>std::enable_if</code> and <code>std::conditional</code></td> |  | 
|   681 <td>Enables compile-time conditional type selection</td> |  | 
|   682 <td><a href="http://en.cppreference.com/w/cpp/types/enable_if"> |  | 
|   683 std::enable_if</a> and |  | 
|   684 <a href="http://en.cppreference.com/w/cpp/types/conditional"> |  | 
|   685 conditional</a></td> |  | 
|   686 <td></td> |  | 
|   687 </tr> |  | 
|   688  |  | 
|   689 <tr> |  | 
|   690 <td>Constant Iterator Methods on Containers</td> |   699 <td>Constant Iterator Methods on Containers</td> | 
|   691 <td><code>std::cbegin()</code> and <code>std::cend()</code></td> |   700 <td><code>std::cbegin()</code> and <code>std::cend()</code></td> | 
|   692 <td>Enforces iteration methods that don't change container contents</td> |   701 <td>Enforces iteration methods that don't change container contents</td> | 
|   693 <td>TODO: documentation link</td> |   702 <td>TODO: documentation link</td> | 
|   694 <td></td> |   703 <td></td> | 
|   695 </tr> |   704 </tr> | 
|   696  |   705  | 
|   697 <tr> |   706 <tr> | 
|   698 <td>Construct Elements in Containers</td> |   707 <td>Construct Elements in Containers</td> | 
|   699 <td><code>emplace()</code>,<code>emplace_back()</code>, |   708 <td><code>emplace()</code>,<code>emplace_back()</code>, | 
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   959 <td><a href="http://en.cppreference.com/w/cpp/types/type_index"> |   968 <td><a href="http://en.cppreference.com/w/cpp/types/type_index"> | 
|   960 std::type_index</a> and |   969 std::type_index</a> and | 
|   961 <a href="http://en.cppreference.com/w/cpp/types/type_info/hash_code"> |   970 <a href="http://en.cppreference.com/w/cpp/types/type_info/hash_code"> | 
|   962 std::type_info::hash_code</a></td> |   971 std::type_info::hash_code</a></td> | 
|   963 <td><code>std::type_index</code> is a thin wrapper for |   972 <td><code>std::type_index</code> is a thin wrapper for | 
|   964 <code>std::type_info</code>, allowing you to use it directly |   973 <code>std::type_info</code>, allowing you to use it directly | 
|   965 within both associative and unordered containers</td> |   974 within both associative and unordered containers</td> | 
|   966 </tr> |   975 </tr> | 
|   967  |   976  | 
|   968 <tr> |   977 <tr> | 
|   969 <td>Type Traits</td> |  | 
|   970 <td>Class templates within <code><type_traits></code></td> |  | 
|   971 <td>Allows compile-time inspection of the properties of types</td> |  | 
|   972 <td><a href="http://en.cppreference.com/w/cpp/header/type_traits"> |  | 
|   973 Standard library header <type_traits></a></td> |  | 
|   974 <td></td> |  | 
|   975 </tr> |  | 
|   976  |  | 
|   977 <tr> |  | 
|   978 <td>Unique Pointers</td> |   978 <td>Unique Pointers</td> | 
|   979 <td><code>std::unique_ptr<<i>type</i>></code></td> |   979 <td><code>std::unique_ptr<<i>type</i>></code></td> | 
|   980 <td>Defines a pointer with clear and unambiguous ownership</td> |   980 <td>Defines a pointer with clear and unambiguous ownership</td> | 
|   981 <td>TODO: documentation link</td> |   981 <td>TODO: documentation link</td> | 
|   982 <td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Sma
      rt_Pointers"> |   982 <td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Sma
      rt_Pointers"> | 
|   983 Ownership and Smart Pointers</a></td> |   983 Ownership and Smart Pointers</a></td> | 
|   984 </tr> |   984 </tr> | 
|   985  |   985  | 
|   986 <tr> |   986 <tr> | 
|   987 <td>Unordered Associative Containers</td> |   987 <td>Unordered Associative Containers</td> | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1035 C++ Style Guide</a>. However, may be useful for |  1035 C++ Style Guide</a>. However, may be useful for | 
|  1036 consuming non-ASCII data.</td> |  1036 consuming non-ASCII data.</td> | 
|  1037 </tr> |  1037 </tr> | 
|  1038  |  1038  | 
|  1039 </tbody> |  1039 </tbody> | 
|  1040 </table> |  1040 </table> | 
|  1041  |  1041  | 
|  1042 </div> |  1042 </div> | 
|  1043 </body> |  1043 </body> | 
|  1044 </html> |  1044 </html> | 
| OLD | NEW |