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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 <code>is_sorted</code>, <code>is_sorted_until</code><br/> | 361 <code>is_sorted</code>, <code>is_sorted_until</code><br/> |
362 <code>is_heap</code>, <code>is_heap_until</code><br/> | 362 <code>is_heap</code>, <code>is_heap_until</code><br/> |
363 <code>minmax</code>, <code>minmax_element</code><br/> | 363 <code>minmax</code>, <code>minmax_element</code><br/> |
364 <code>is_permutation<br/></td> | 364 <code>is_permutation<br/></td> |
365 <td>Safe and performant implementations of common algorithms</td> | 365 <td>Safe and performant implementations of common algorithms</td> |
366 <td><a href="http://en.cppreference.com/w/cpp/header/algorithm">Standard library
header <algorithm></a></td> | 366 <td><a href="http://en.cppreference.com/w/cpp/header/algorithm">Standard library
header <algorithm></a></td> |
367 <td>Note that <algorithm> contains a range-based <code>move</code> method.
This is allowed, but because people may confuse it with the single-arg <code>st
d::move</code>, there is often a way to write code without it that is more reada
ble. <a href="https://groups.google.com/a/chromium.org/forum/#!topic/cxx/UJQk8S1
IuHk">Discussion thread</a>. <a href='https://groups.google.com/a/chromium.org/f
orum/#!topic/cxx/8WzmtYrZvQ8'>Another discussion thread</a></td> | 367 <td>Note that <algorithm> contains a range-based <code>move</code> method.
This is allowed, but because people may confuse it with the single-arg <code>st
d::move</code>, there is often a way to write code without it that is more reada
ble. <a href="https://groups.google.com/a/chromium.org/forum/#!topic/cxx/UJQk8S1
IuHk">Discussion thread</a>. <a href='https://groups.google.com/a/chromium.org/f
orum/#!topic/cxx/8WzmtYrZvQ8'>Another discussion thread</a></td> |
368 </tr> | 368 </tr> |
369 | 369 |
370 <tr> | 370 <tr> |
| 371 <td>Alignment Features</td> |
| 372 <td><code>alignas</code> specifier, <code>alignof</code> operator</td> |
| 373 <td>Object alignment</td> |
| 374 <td><a href="http://en.cppreference.com/w/cpp/language/alignas">alignas specifie
r</a>, <a href="http://en.cppreference.com/w/cpp/language/alignof">alignof opera
tor</a></td> |
| 375 <td>Use when appropriate. <a href="https://groups.google.com/a/chromium.org/foru
m/#!topic/cxx/rwXN02jzzq0">Discussion thread</a></td> |
| 376 </tr> |
| 377 |
| 378 <tr> |
371 <td>Begin and End Non-Member Functions</td> | 379 <td>Begin and End Non-Member Functions</td> |
372 <td><code>std::begin()</code>, <code>std::end()</code></td> | 380 <td><code>std::begin()</code>, <code>std::end()</code></td> |
373 <td>Allows use of free functions on any container, including fixed-size arrays</
td> | 381 <td>Allows use of free functions on any container, including fixed-size arrays</
td> |
374 <td><a href="http://en.cppreference.com/w/cpp/iterator/begin">std::begin</a>, <a
href="http://en.cppreference.com/w/cpp/iterator/end">std::end</a></td> | 382 <td><a href="http://en.cppreference.com/w/cpp/iterator/begin">std::begin</a>, <a
href="http://en.cppreference.com/w/cpp/iterator/end">std::end</a></td> |
375 <td>Useful for fixed-size arrays. Note that non-member <code>cbegin()</code> and
<code>cend()</code> are not available until C++14. <a href="https://groups.goog
le.com/a/chromium.org/forum/#!topic/cxx/5iFNE8P5qT4">Discussion thread</a></td> | 383 <td>Useful for fixed-size arrays. Note that non-member <code>cbegin()</code> and
<code>cend()</code> are not available until C++14. <a href="https://groups.goog
le.com/a/chromium.org/forum/#!topic/cxx/5iFNE8P5qT4">Discussion thread</a></td> |
376 </tr> | 384 </tr> |
377 | 385 |
378 <tr> | 386 <tr> |
379 <td>Conditional Type Selection</td> | 387 <td>Conditional Type Selection</td> |
380 <td><code>std::enable_if</code>, <code>std::conditional</code></td> | 388 <td><code>std::enable_if</code>, <code>std::conditional</code></td> |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 | 703 |
696 <tr> | 704 <tr> |
697 <th style='width:240px;'>Feature</th> | 705 <th style='width:240px;'>Feature</th> |
698 <th style='width:240px;'>Snippet</th> | 706 <th style='width:240px;'>Snippet</th> |
699 <th style='width:240px;'>Description</th> | 707 <th style='width:240px;'>Description</th> |
700 <th style='width:240px;'>Documentation Link</th> | 708 <th style='width:240px;'>Documentation Link</th> |
701 <th style='width:240px;'>Notes and Discussion Thread</th> | 709 <th style='width:240px;'>Notes and Discussion Thread</th> |
702 </tr> | 710 </tr> |
703 | 711 |
704 <tr> | 712 <tr> |
705 <td>Alignment Features</td> | |
706 <td><code>alignas</code> specifier, <code>alignof</code> operator</td> | |
707 <td>Object alignment</td> | |
708 <td><a href="http://en.cppreference.com/w/cpp/language/alignas">alignas specifie
r</a>, <a href="http://en.cppreference.com/w/cpp/language/alignof">alignof opera
tor</a></td> | |
709 <td>Reevaluate now that MSVS2015 is available. <a href="https://groups.google.co
m/a/chromium.org/forum/#!topic/cxx/rwXN02jzzq0">Discussion thread</a></td> | |
710 </tr> | |
711 | |
712 <tr> | |
713 <td>Attributes</td> | 713 <td>Attributes</td> |
714 <td><code>[[<i>attribute_name</i>]]</code></td> | 714 <td><code>[[<i>attribute_name</i>]]</code></td> |
715 <td>Attaches properties to declarations that specific compiler implementations m
ay use.</td> | 715 <td>Attaches properties to declarations that specific compiler implementations m
ay use.</td> |
716 <td><a href="http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generaliz
ed-attributes/">C++11 generalized attributes</a></td> | 716 <td><a href="http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generaliz
ed-attributes/">C++11 generalized attributes</a></td> |
717 <td></td> | 717 <td></td> |
718 </tr> | 718 </tr> |
719 | 719 |
720 <tr> | 720 <tr> |
721 <td>UTF-8, UTF-16, UTF-32 String Literals</td> | 721 <td>UTF-8, UTF-16, UTF-32 String Literals</td> |
722 <td><code>u8"<i>string</i>", u"<i>string</i>", U"<i>str
ing</i>"</code></td> | 722 <td><code>u8"<i>string</i>", u"<i>string</i>", U"<i>str
ing</i>"</code></td> |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 <td><a href="http://en.cppreference.com/w/cpp/locale/wstring_convert">std::wstri
ng_convert</a>, <a href="http://en.cppreference.com/w/cpp/locale/wbuffer_convert
">std::wbuffer_convert</a>, <a href="http://en.cppreference.com/w/cpp/locale/cod
ecvt_utf8">std::codecvt_utf8</a>, <a href="http://en.cppreference.com/w/cpp/loca
le/codecvt_utf16">std::codecvt_utf16</a>, <a href="http://en.cppreference.com/w/
cpp/locale/codecvt_utf8_utf16">std::codecvt_utf8_utf16</a></td> | 920 <td><a href="http://en.cppreference.com/w/cpp/locale/wstring_convert">std::wstri
ng_convert</a>, <a href="http://en.cppreference.com/w/cpp/locale/wbuffer_convert
">std::wbuffer_convert</a>, <a href="http://en.cppreference.com/w/cpp/locale/cod
ecvt_utf8">std::codecvt_utf8</a>, <a href="http://en.cppreference.com/w/cpp/loca
le/codecvt_utf16">std::codecvt_utf16</a>, <a href="http://en.cppreference.com/w/
cpp/locale/codecvt_utf8_utf16">std::codecvt_utf8_utf16</a></td> |
921 <td>Non-UTF-8 text is banned by the <a href="https://google.github.io/styleguide
/cppguide.html#Non-ASCII_Characters">Google Style Guide</a>. However, may be use
ful for consuming non-ASCII data.</td> | 921 <td>Non-UTF-8 text is banned by the <a href="https://google.github.io/styleguide
/cppguide.html#Non-ASCII_Characters">Google Style Guide</a>. However, may be use
ful for consuming non-ASCII data.</td> |
922 </tr> | 922 </tr> |
923 | 923 |
924 </tbody> | 924 </tbody> |
925 </table> | 925 </table> |
926 | 926 |
927 </div> | 927 </div> |
928 </body> | 928 </body> |
929 </html> | 929 </html> |
OLD | NEW |