Table of Contents
Embracing Modern C++ Safely Bibliography
Return to Programming Glossary, Glossaries, Embracing Modern C++ Safely, C++
See also:
- “abrahams09 David Abrahams, Rani Sharoni, and Doug Gregor, “Allowing Move Constructors to Throw.” Technical Report N2983, International Standards Organization, Geneva, Switzerland, November 9, 2009 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2983.html
- ”abrahams10 David Abrahams, Rani Sharoni, and Doug Gregor, “Allowing Move Constructors to Throw (Rev. 1).” Technical Report N3050, International Standards Organization, Geneva, Switzerland, March 12, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
- “adamczyk05 J. Stephen Adamczyk, “Adding the long long type to C++ (Revision 3).” Technical Report N1811, International Standards Organization, Geneva, Switzerland, April 2005 http://open-std.org/JTC1/SC22/WG21//docs/papers/2005/n1811.pdf
- “alexandrescu01 Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied (Boston: Addison-Wesley, 2001)
- “amini21 Parsa Amini and Joshua Berne, “Quantifying the Impact of Assuming Preconditions.” Technical Report P2421R0, International Standards Organization, Geneva, Switzerland, forthcoming
- ”baker14 Billy Baker, “Removing auto_ptr.” Technical Report N4168, International Standards Organization, Geneva, Switzerland, October 2, 2014 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4168.html
- “balog20 Pal Balog, “Make Declaration Order Layout Mandated.” Technical Report P1847R3, International Standards Organization, Geneva, Switzerland, March 1, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1847r3.pdf
- ”barendregt84 Henk Barendregt and Erik Barendsen, “Introduction to Lambda Calculus.”Nieuw Archief Voor Wiskunde, January 1984, volume 4:pp. 337–372
- “barton94 John J. Barton and Lee R. Nackman, Scientific and Engineering C++: An Introduction With Advanced Techniques and Examples (Reading, MA: Addison-Wesley, 1994)
- ”bastien18 JF Bastien, “Signed Integers are Two’s Complement.” Technical Report P0907R4, International Standards Organization, Geneva, Switzerland, October 6, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r4.html
- ”bendersky18 Eli Bendersky, “Unification.” Eli Bendersky’s blog, November 12, 2018 https://eli.thegreenplace.net/2018/unification/
- “berger02 Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley, “Reconsidering Custom Memory Allocation.” Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (2002), pp. 1–12 https://doi.org/10.1145/582419.582421
- ”bleaney16 Graham Bleaney, “Validation of Memory-Allocation Benchmarks.” Technical Report P0213R0, International Standards Organization, Geneva, Switzerland, January 24, 2016 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0213r0.pdf
- ”boehm16 Hans-J. Boehm, “Temporarily Discourage memory_order_consume.” Technical Report P0371R1, International Standards Organization, Geneva, Switzerland, 2016 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0371r1.html
- “brown19 Walter E. Brown and Daniel Sunderland, “Recommendations for Specifying ‘Hidden Friends’.” Technical Report P1601R0, International Standards Organization, Geneva, Switzerland, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1601r0.pdf
- ”calabrese20 Matt Calabrese and Ryan McDougall, “any_invocable.” Technical Report P0288R6, International Standards Organization, Geneva, Switzerland, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0288r6.html
- ”carruth15 Chandler Carruth, “Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!” CppCon: The C++ Conference (Aurora, CO, 2015) https://www.youtube.com/watch?v=nXaxk27zwlk
- ”cpprefa “all_of, any_of, none_of.” C++ Algorithm Library, cppreference.com https://en.cppreference.com/w/cpp/algorithm/all_any_none_of
- ”cpprefc “any.” C++ Utilities Library, cppreference.com https://en.cppreference.com/w/cpp/utility/any
- “dawes07 Beman Dawes, “POD’s Revisited; Resolving Core Issue 568 (Revision 5).” Technical Report N2342, C++ Standards Committee Working Group, Geneva, Switzerland, July 18, 2007 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
- ”dekker19a Niels Dekker, “noexcept_benchmark.” published via GitHub, January 18, 2019 https://github.com/N-Dekker/noexcept_benchmark/blob/main/LICENSE
- ”derevenets16 Yegor Derevenets, “A Proposal to Add Y Combinator to the Standard Library.” Technical Report P0200R0, C++ Standards Committee Working Group, Geneva, Switzerland, January 22, 2016 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0200r0.html
- “dewhurst89 Stephen Dewhurst and Kathy T. Stark, Programming in C++ (Englewood Cliffs, NJ: Prentice Hall, 1989)
- ”dimov18 Peter Dimov and Vassil Vassilev, “Allowing Virtual Function Calls in Constant Expressions.” Technical Report P1064R0, C++ Standards Committee Working Group, Geneva, Switzerland, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1064r0.html
- “dosreis09 Gabriel Dos Reis, “Issue 981: Constexpr constructor templates and literal types.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2009) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#981
- ”dosreis18 G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, and B. Stroustrup, “Support for Contract Based Programming in C++.” Technical Report P0542R4, C++ Standards Committee Working Group, Geneva, Switzerland, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0542r4.html
- “dusikova19 Hana Dusíková, “Compile Time Regular Expressions.” Technical Report P1433R0, C++ Standards Committee Working Group, Geneva, Switzerland, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1433r0.pdf
- “finland13 Finland, “Issue 1776: Replacement of class objects containing reference members.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#1776
- ”fluentcpp17 “What the Curiously Recurring Template Pattern Can Bring to Your Code.” Fluent C++, May 16, 2017 https://www.fluentcpp.com/2017/05/16/what-the-crtp-brings-to-code/
- “freesoftwarefdn20 Using the GNU Compiler Collection (GCC) (Boston, MA: Free Software Foundation, Inc., 2020) https://gcc.gnu.org/onlinedocs/gcc/
- ”goldthwaite07 Lois Goldthwaite, “Toward a More Perfect Union.” Technical Report N2248, International Standards Organization, Geneva, Switzerland, May 7, 2007 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2248.html
- “gregor09 Douglas Gregor and David Abrahams, “Rvalue References and Exception Safety.” Technical Report N2855, International Standards Organization, Geneva, Switzerland, March 23, 2009 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2855.html
- ”grimm17 Rainer Grimm, “C++ Core Guidelines: Rules for Enumerations.” Modernes C++, November 27, 2017 https://www.modernescpp.com/index.php/c-core-guidelines-rules-for-enumerations
- ”halpern20 Pablo Halpern and John Lakos, “Unleashing the Power of Allocator-Aware Software Infrastructure.” Technical Report P2126R0, International Standards Organization, Geneva, Switzerland, March 2, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2126r0.pdf
- “halpern21a Pablo Halpern, “Bug 99799: Explicit instantiation function template with auto deduced return type fails if soft instantiation occurred.” Bugzilla, March 27, 2021 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99799
- ”halpern21b Pablo Halpern, “Bug 49751: Explicit instantiation function template with auto deduced return type fails if soft instantiation occurred.” Bugzilla, March 28, 2021 https://bugs.llvm.org/show_bug.cgi?id=49751
- “halpern21c Pablo Halpern, “Move, Copy, and Locality at Scale.” Technical Report P2329, International Standards Organization, Geneva, Switzerland, 2021 http://wg21.link/P2329
- ”herring20 S. Davis Herring, “Declarations and where to find them.” Technical Report P1787R6, International Standards Organization, Geneva, Switzerland, October 23, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html
- “hindley86 J. Roger Hindley and Jonathan P. Seldin, Introduction to Combinators and (lambda) Calculus (Cambridge, England: Cambridge University Press, 1986)
- ”hinnant02 Howard Hinnant, Peter Dimov, and Dave Abrahams, “A Proposal to Add Move Semantics Support to the C++ Language.” Technical Report N1377, International Standards Organization, Geneva, Switzerland, September 10, 2002 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1377.htm
- “hinnant05 Howard Hinnant, “Rvalue Reference Recommendations for Chapter 20.” Technical Report N1856, International Standards Organization, Geneva, Switzerland, August 26, 2005 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1856.html
- ”hinnant06 Howard Hinnant, Bjarne Stroustrup, and Bronek Kozicki, “A Brief Introduction to Rvalue References.” Technical Report N2027, International Standards Organization, Geneva, Switzerland, June 12, 2006 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html
- ”hinnant16 Howard Hinnant, “Everything You Ever Wanted To Know About Move Semantics.” Bloomberg Engineering Distinguished Speaker Series, 2016 https://www.youtube.com/watch?v=vLinb2fgkHk&t=28s
- “hinnant17 Howard Hinnant, “Issue 2278: User-Defined Literals for Standard Library Types.” Technical Report CWG2278, International Standards Organization, Geneva, Switzerland, September 10, 2017 https://cplusplus.github.io/LWG/issue2278
- ”ieee19 IEEE Standard for Floating-Point Arithmetic (New York, NY: Institute of Electrical and Electronics Engineers, Inc., 2019) https://ieeexplore.ieee.org/document/8766229
- ”intel16 Intel 64 and IA-32 Architectures Optimization Reference Manual. Number 248966-033 (Santa Clara, CA: Intel Corporation, 2016) https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
- “iso99 ISO/IEC 9899:1999 Programming Languages — C (Geneva, Switzerland: International Standards Organization, 1999) http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
- “iso11a ISO/IEC 14882:2011 — Programming Language — C++ (Geneva, Switzerland: International Standards Organization, 2011) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
- ”iso11b ISO/IEC 9899:2011 Information Technology — Programming Languages — C (Geneva, Switzerland: International Standards Organization, 2011) https://www.iso.org/standard/57853.html
- “iso14 ISO/IEC 14882:2014 Programming Language C++ (Geneva, Switzerland: International Standards Organization, 2014) http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3797.pdf
- ”iso17 ISO/IEC 14882:2017 Programming Language C++ (Geneva, Switzerland: International Standards Organization, 2017) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf
- “iso18a “C++ Standard Core Language Active Issues, Revision 100.” Technical report, International Standards Organization, Geneva, Switzerland, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html
- ”iso18b ISO/IEC 9899:2018 Information Technology — Programming Languages — C (Geneva, Switzerland: International Standards Organization, 2018) https://www.iso.org/standard/74528.html
- “iso20a “Allow Duplicate Attributes.” Technical Report P2156R1, International Standards Organization, Geneva, Switzerland, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2156r1.pdf
- ”iso20b ISO/IEC 14882:2020 Programming Languages — C++ (Geneva, Switzerland: International Standards Organization, 2020) https://www.iso.org/standard/79358.html
- ”izvekov14 Matheus Izvekov, “Disallowing Inaccessible Operators From Trivially Copyable.” Technical Report N4148, International Standards Organization, Geneva, Switzerland, September 24, 2014 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4148.html
- “johnson19 CJ Johnson, “Permitting trivial default initialization in constexpr contexts.” Technical Report P1331R2, International Standards Organization, Geneva, Switzerland, July 15, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1331r2.pdf
- ”josuttis20a Nicolai Josuttis, Victor Zverovich, Filipe Mulonde, and Arthur O'Dwyer, “Fix the Range-Based for Loop, Rev. 0.” Technical Report P2012R0, International Standards Organization, Geneva, Switzerland, November 15, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2012r0.pdf
- “josuttis20b Nicolai Josuttis, C++ Move Semantics — The Complete Guide (Braunschweig, Germany: self-published, 2020)
- ”kahan97 W. Kahan, “Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic.” Electrical Engineering and Computer Science Department, University of California, Berkeley, CA, 1997 https://people.eecs.berkeley.edu/wkahan/ieee754status/IEEE754.PDF
- “kalev14 Danny Kalev, “Safety in Numbers: Introducing C++14’s Binary Literals, Digit Separators, and Variable Templates.” informit.com, May 14, 2014 https://www.informit.com/articles/article.aspx?p=2209021
- ”keane20 Erich Keane, “Allow Duplicate Attributes.” Technical Report P2156R0, C++ Standards Committee Working Group, Geneva, Switzerland, 2020 https://wg21.link/p2156r0
- ”kernighan88 Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language. 2nd edition (Englewood Cliffs, NJ: Prentice Hall, 1988) https://archive.org/details/cprogramminglang00bria/mode/2up
- ”khlebnikov18 Rostislava Khlebnikov and John Lakos, “Embracing Modern C++ Safely.” Technical report, Bloomberg, New York, NY, March 29, 2018 http://bloomberg.github.io/bde-resources/pdfs/Embracing_Modern_Cpp_Safely.pdf
- “khlebnikov21 Rostislava Khlebnikov, “Bug 101087: Unevaluated operand of sizeof affects noexcept operator.” Bugzilla, June 15, 2021 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101087
- ”klarer04 Robert Klarer, John Maddock, Beman Dawes, and Howard Hinnant, “Proposal to Add Static Assertions to the Core Language (Revision 3).” Technical Report N1720, International Standards Organization, Geneva, Switzerland, October 20, 2004 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
- “krugler10a Daniel Krügler, “Issue 1071: Literal class types and trivial default constructors.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland, 2010) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1071
- ”krugler10b Daniel Krügler, “Cleanup of pair and tuple.” Technical Report N3140, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, October 2, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3140.html
- ”krzemienski16 Andrzej Krzemieński, “The Cost of std::initializer_list.” Andrzej’s C++ blog, July 7, 2016 https://akrzemi1.wordpress.com/2016/07/07/the-cost-of-stdinitializer_list/
- “kuhl12 Dietmar Kühl, “Proposal to Add Decimal Floating-Point Support to C++.” Technical Report N3407, International Standards Organization, Geneva, Switzerland, September 14, 2012 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3407.html
- “lakos14a John Lakos, “Defensive Programming Done Right, Part I.” CppCon (2014) https://www.youtube.com/watch?v=1QhtXRMp3Hg
- ”lakos14b John Lakos, “Defensive Programming Done Right, Part II.” CppCon (2014) https://www.youtube.com/watch?v=tz2khnjnUx8
- “lakos15a John Lakos, “Value Semantics: It Ain’t About the Syntax! — Part I.” CppCon (2015) https://www.youtube.com/watch?v=W3xI1HJUy7Q
- ”lakos15b John Lakos, “Value Semantics: It Ain’t About the Syntax! — Part II.” CppCon (2015) https://www.youtube.com/watch?v=0EvSxHxFknM
- “lakos16 John Lakos, Jeffrey Mendelsohn, Alisdair Meredith, and Nathan Myers, “On Quantifying Memory-Allocation Strategies (Revision 2).” Technical Report P0089R1, February 12, 2016 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0089r1.pdf
- ”lakos17a John Lakos, “Local (‘Arena’) Memory Allocators — Part I.” Meeting C++ (2017) https://www.youtube.com/watch?v=ko6uyw0C8r0
- “lakos17b John Lakos, “Local (‘Arena’) Memory Allocators — Part II.” Meeting C++ (2017) https://www.youtube.com/watch?v=fN7nVzbRiEk
- “lakos20 John Lakos, Large-Scale C++ — Volume I: Process and Architecture (Boston: Addison-Wesley, 2020)
- ”lakos22 John Lakos and Joshua Berne, C++ Allocators for the Working Programmer (Boston: Addison-Wesley, forthcoming)
- “lakos23 John Lakos and Rostislava Khlebnikhov, Design by Contract for Large-Scale Software (Boston: Addison-Wesley, forthcoming)
- ”lakos2a John Lakos, Large-Scale C++ — Volume II: Design and Implementation (Boston: Addison-Wesley, forthcoming)
- “lakos2b John Lakos, Large-Scale C++ — Volume III: Verification and Testing (Boston: Addison-Wesley, forthcoming)
- “liskov87 Barbara Liskov, “Data Abstraction and Hierarchy.” Addendum to the Proceedings on Object-Oriented Programming Systems, Languages, and Applications (New York: Association for Computing Machinery, 1987), pp. 17–34 https://dl.acm.org/doi/10.1145/62138.62141
- ”liskov94 Barbara Liskov and Jeannette M. Wing, “A Behavioral Notion of Subtyping.” ACM Transactions Programming Language Systems, 1994, volume 16(6):pp. 1811–1841
- “liskov09 Barbara Liskov, “The Power of Abstraction.” ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, October 27, 2009
- ”liskov16 Barbara Liskov, “The Power of Abstraction.” Bloomberg’s Engineering Distinguished Speaker Series, October 24, 2016
- “lopez-gomez20 Javier López-Gómez, Javier Fernández, David del Rio Astorga, Vassil Vassilev, Axel Naumann, and J. Daniel García, “Relaxing the One-Definition Rule in Interpreted C++.” Proceedings of the 29th International Conference on Compiler Construction, CC 2020 (New York, NY, USA: Association for Computing Machinery, 2020), pp. 212–222 https://doi.org/10.1145/3377555.3377901
- ”maddock04 John Maddock, “Issue 496: Is a volatile-qualified type really a POD?” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2004) http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#496
- “marton17 G. Márton, I. Szekeres, and Z. Porkoláb, “High-Level C++ Implementation of the read-copy-update Pattern.” IEEE 14th International Scientific Conference on Informatics (2017), pp. 243–248
- “marton18 Gábor Márton, Imre Szekeres, and Zoltán Porkoláb, “Towards a High-Level C++ Abstraction to Utilize the Read-Copy-Update Pattern.” Acta Electrotechnica et Informatica, 2018, volume 18(3):pp. 18–26
- “maurer15 Jens Maurer, “P0012R0: Make exception specifications be part of the type system, version 4.” Technical Report P0012R0, International Standards Organization, Geneva, Switzerland, September 8, 2015 http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0012r0.html
- “maurer18 Jens Maurer, “P1236R1: Alternative Wording for P0907R4 Signed Integers are Two’s Complement.” Technical Report P1236R1, International Standards Organization, Geneva, Switzerland, November 9, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r1.html
- “mccormack94 Joel McCormack, Paul Asente, and Ralph R. Swick, “X Toolkit Intrinsics — C Language Interface, Version 11, Release 7.7.” Technical report, X Consortium, Inc., 1994 https://www.x.org/releases/X11R7.7/doc/libXt/intrinsics.html
- “mcfarlane19 John McFarlane, “Fixed-Point Real Numbers.” Technical Report P0037R7, International Standards Organization, Geneva, Switzerland, June 17, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0037r7.html
- “mcintosh08a Ian McIntosh, Michael Wong, Raymond Mak, Robert Klarer, Jens Maurer, Alisdair Meredith, Bjarne Stroustrup, and David Vandevoorde, “User]-[[defined Literals (aka. Extensible Literals (revision 4)).” Technical Report N2750-08-0260, International Standards Organization, Geneva, Switzerland, August 22, 2008 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2750.pdf
- “mcintosh08b Ian McIntosh, Michael Wong, Raymond Mak, Robert Klarer, Jens Maurer, Alisdair Meredith, Bjarne Stroustrup, and David Vandevoorde, “User-Defined Literals (Revision 5).” Technical Report N2765, International Standards Organization, Geneva, Switzerland, September 18, 2008 http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
- ”meredith07 Alisdair Meredith, “Issue 644: Should a trivial class type be a literal type?” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2007) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#644
- ”meredith08 Alisdair Meredith, M. Wong, and J. Maurer, “Inheriting Constructors (Revision 4).” Technical Report N2512, International Standards Organization, Geneva, Switzerland, April 2, 2008 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2512.html
- ”meredith11 Alisdair Meredith and John Lakos, “Conservative use of noexcept in the Library.” Technical Report N3279, International Standards Organization, Geneva, Switzerland, March 25, 2011 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3279.pdf
- ”meredith16 Alisdair Meredith, “Deprecating Vestigial Library Parts in C++17.” Technical Report P0174R2, International Standards Organization, Geneva, Switzerland, June 23, 2016 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html
- ”meredith20 Alisdair Meredith, “Down with typename in the Library!” Technical Report P2150R0, International Standards Organization, Geneva, Switzerland, April 14, 2020 http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/p2150r0.html
- ”merrill10a Jason Merrill, “Issue 1213: Array subscripting and xvalues.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland, 2010) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1213
- ”merrill10b Jason Merrill, “noexcept(auto).” Technical Report N3207, International Standards Organization, Geneva, Switzerland, November 11, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3207.htm
- “mertz18 Arne Mertz, “Trailing Return Types, East Const, and Code Style Consistency.” Simplify C++! (2018) https://arne-mertz.de/2018/05/trailing-return-types-east-const-and-code-style-consistency/
- “meyers04a Scott Meyers and Andrei Alexandrescu, “C++ and the Perils of Double-Checked Locking: Part I.” Dr Dobb’s Journal, 2004, pp. 46–49
- ”meyers04b Scott Meyers and Andrei Alexandrescu, “C++ and the Perils of Double-Checked Locking: Part II.” Dr Dobb’s Journal, 2004, pp. 57–61
- ”microsoftc “Built-in types (C++).” Guidelines Support Library, Microsoft https://docs.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp
- ”miller00 Mike Miller, “Issue 253: Why must empty or fully-initialized const objects be initialized?” C++ Standard Core Language Active Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2000) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#253
- “miller05 William M. Miller, “Extended friend Declarations (Rev. 3).” Technical Report N1791, International Standards Organization, Geneva, Switzerland, May 2005 http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2005/n1791.pdf
- ”miller07 David E. Miller, Herb Sutter, and Bjarne Stroustrup, “Strongly Typed Enums (Revision 3).” Technical Report N2347, International Standards Organization, Geneva, Switzerland, July 19, 2007 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
- “miller10 William M. Miller, “A Taxonomy of Expression Value Categories.” Technical Report N3055, International Standards Organization, Geneva, Switzerland, March 12, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3055.pdf
- ”miller12a Mike Miller, “Issue 1442: Argument-dependent lookup in the range-based for.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2012) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1442
- “miller12b Mike Miller, “Issue 1542: Compound Assignment of braced-init-list.” C++ Standard Core Language Active Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2012) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1542
- ”miller13 Mike Miller, “Issue 1655: Line Endings in Raw String Literals.” C++ Standard Core Language Active Issues, Revision 100 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1655
- “miller17 Mike Miller, “Issue 2354: Extended Alignment and Object Representation.” Core Language Working Group Tentatively Ready Issues for the February, 2019 (Kona) Meeting (Geneva, Switzerland: International Standards Organization, 2017) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1359r0.html#2354
- ”miller21 William M. Miller, “C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104.” Technical report, International Standards Organization, Geneva, Switzerland, February 24, 2021 http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html
- “niebler13 Eric Niebler, “Universal References and the Copy Constructor.” ericniebler.com, August 7, 2013 https://ericniebler.com/2013/08/07/universal-references-and-the-copy-constructo/
- “odwyer18 Arthur O'Dwyer and JF Bastien, “Copying volatile subobjects is not trivial.” Technical Report P1153R0, International Standards Organization, Geneva, Switzerland, October 4, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1153r0.html
- “odwyer19 Arthur O'Dwyer and David Stone, “More implicit moves.” Technical Report P1155R3, International Standards Organization, Geneva, Switzerland, June 17, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1155r3.html
- “odwyer20 Arthur O'Dwyer, “Object Relocation in Terms of Move Plus Destroy.” Technical Report P1144R5, International Standards Organization, Geneva, Switzerland, March 1, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1144r5.html
- “odwyer21 Arthur O'Dwyer, “Simpler implicit move.” Technical Report P2266R1, International Standards Organization, Geneva, Switzerland, March 13, 2021 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2266r1.html
- “ottosen10 Thorsten Ottosen, “Please reconsider noexcept.” Technical Report N3227, International Standards Organization, Geneva, Switzerland, November 23, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3227.html
- ”pacifico12 Stefano Pacifico, Alisdair Meredith, and John Lakos, “Toward a Standard C++ 'Date' Class.” Technical Report N3344, International Standards Organization, Geneva, Switzerland, January 15, 2012 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3344.pdf
- ”parent21 Sean Parent, “Relaxing Requirements of Moved-From Objects.” Technical Report P2345R0, International Standards Organization, Geneva, Switzerland, April 14, 2021 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2345r0.pdf
- ”pluzhnikov14 Paul Pluzhnikov, “Bug 60352: Bogus ‘error: conflicting declaration auto i.” Bugzilla, February 27, 2014 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60352
- ”pradhan14 Pradhan, “noexcept, stack unwinding and performance.” StackOverflow online forum, September 27, 2014 https://stackoverflow.com/questions/26079903/noexcept-stack-unwinding-and-performance
- ”prowl13 Andy Prowl, “Template tuple — calling a function on each element.” StackOverflow online forum, May 5, 2013 https://stackoverflow.com/questions/16387354/template-tuple-calling-a-function-on-each-element/16387374#16387374
- “pusz20a Mateusz Pusz, “Enable variable template template Parameters.” Technical Report P2008R0, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, January 10, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2008r0.html
- ”ranns14 Nina Ranns, “Issue 1881: Standard-layout classes and unnamed bit-fields.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2014) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1881
- ”revzin18 Barry Revzin, “Allow pack expansion in lambda init-capture.” Technical Report P0780R2, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, March 14, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html
- “semashev18 Andrey Semashev, “Supporting offsetof for All Classes.” Technical Report P0897R0, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0897r0.html
- “smith11a Richard Smith, “Issue 1358: Unintentionally ill-formed constexpr function template instances.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2011) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1358
- “smith11b Richard Smith, “Issue 1452: Value-initialized objects may be constants.” C++ Standard Core Language Closed Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2011) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1452
- “smith13 Richard Smith, “Issue 1672: Layout compatibility with multiple empty bases.” C++ Standard Core Language Closed Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1672
- “smith14 Richard Smith, “Issue 1951:Cv-qualification and literal types.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2014) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1951
- “smith15a Richard Smith, “Attributes for namespaces and enumerators.” Technical Report N4196, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2015 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4196.html
- “smith15b Richard Smith, “Rewording Inheriting Constructors (Core Issue 1941 et al.).” Technical Report P0136R1, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2015 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
- “smith15c Richard Smith, “Guaranteed Copy Elision through Simplified Value Categories.” Technical Report P0135R, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2015 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html
- “smith16a Richard Smith, “Issue 2254: Standard-layout classes and bit-fields.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2016) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2254
- “smith16b Richard Smith, “Issue 2256: Lifetime of trivially-destructible objects.” Core Language Working Group “ready” Issues for the February, 2019 (Kona) meeting (Geneva, Switzerland: International Standards Organization, 2016) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1358r0.html#2256
- “smith16c Richard Smith, “Issue 2287: Pointer-interconvertibility in non-standard-layout unions.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2016) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2287
- “smith16d Richard Smith, “Issue 2827: is_trivially_constructible and non-trivial destructors.” C++ Standard Library Active Issues List (Revision D122) (Geneva, Switzerland: International Standards Organization, 2016) https://cplusplus.github.io/LWG/lwg-active.html#2827
- “smith18 Richard Smith, “Issue 2356: Base Class Copy and Move Constructors Should Not Be Inherited.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland, 2018) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2356
- “smith19 Richard Smith, “Contra CWG DR1778.” Technical Report P1286R2, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1286r2.html
- “smith20 Richard Smith, “Implicit Creation of Objects for Low-Level Object Manipulation.” Technical Report P0593R6, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0593r6.html
- “snyder18 Jeff Snyder and Louis Dionne, “Class Types in Non-Type Template Parameters.” Technical Report P0732R2, International Standards Organization, Geneva, Switzerland, June 6, 2018 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0732r2.pdf
- “solihin15 Yan Solihin, Fundamentals of Parallel Multi-Core Architecture (Boca Raton, FL: CRC Press, 2015)
- ”spertus09 Mike Spertus, “Type Traits and Base Classes.” Technical Report N2965, International Standards Organization, Geneva, Switzerland, September 25, 2009 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2965.html
- ”spertus13 Mike Spertus, “Packaging Parameter Packs (Rev. 2).” Technical Report N3728, International Standards Organization, Geneva, Switzerland, September 3, 2013 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3728.html
- “stasiowski19 Krystian Stasiowski, “Accessing Object Representations.” Technical Report P1839R2, International Standards Organization, Geneva, Switzerland, November 11, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1839r2.pdf
- ”stepanov09 Alexander Stepanov and Paul McJones, Elements of Programming (Boston: Addison-Wesley, 2009)
- ”stepanov15 Alexander A. Stepanov and Daniel E. Rose, From Mathematics To Generic Programming (Boston: Addison-Wesley, 2015)
- ”stone17 David Stone, “Implicitly move from rvalue references in return statements.” Technical Report P0527R1, International Standards Organization, Geneva, Switzerland, November 8, 2017 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0527r1.html
- ”stone19 David Stone, “Merged wording for P0527R1 and P1155R3.” Technical Report P1825R0, International Standards Organization, Geneva, Switzerland, July 19, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1825r0.html
- ”stroustrup Bjarne Stroustrup, “‘New’ Value Terminology.” https://www.stroustrup.com/terminology.pdf
- ”stroustrup91b Bjarne Stroustrup, “What is ‘Object-Oriented Programming’?” (1991 revised version). stroustrup.com, 1991 https://stroustrup.com/whatis.pdf
- ”stroustrup04 Bjarne Stroustrup, “Abstraction and the C++ Machine Model.” Proceedings of the First International Conference on Embedded Software and Systems (ICESS ’04) (Berlin Heidelberg: Springer-Verlag, 2004), pp. 1–13 https://www.springer.com/gp/book/9783540281283#
- ”stroustrup05a Bjarne Stroustrup and Gabriel Dos Reis, “Initialization and Initializers.” Technical Report N1890, Geneva, Switzerland, September 22, 2005 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1890.pdf
- ”stroustrup05b Bjarne Stroustrup and Gabriel Dos Reis, “Initializer Lists.” Technical Report N1919, Geneva, Switzerland, December 11, 2005 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1919.pdf
- ”stroustrup07 Bjarne Stroustrup, “Issue 616: Definition of ‘indeterminate value’.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland, 2007) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#616
- ”stroustrup10a Bjarne Stroustrup and Lawrence Crowl, “Defining Move Special Member Functions.” Technical Report N3053, International Standards Organization, Geneva, Switzerland, March 12, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
- ”stroustrup10b Bjarne Stroustrup, “To which extent can noexcept be deduced?” Technical Report N3202, International Standards Organization, Geneva, Switzerland, November 7, 2010 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3202.pdf
- ”sutter12 Herb Sutter, “Reader Q&A: What does it mean for attributes]] to affect language semantics?” Sutter’s Mill: Herb Sutter on Software Development, April 5, 2012 https://herbsutter.com/2012/04/05/reader-qa-what-does-it-mean-for-attributes-to-affect-language-semantics/
- ”sutter14a Herb Sutter, “Defining a Portable ABI.” Technical Report N4028, International Standards Organization, Geneva, Switzerland, May 23, 2014 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4028.pdf
- ”sutter14b Herb Sutter, Bjarne Stroustrup, and Gabriel Dos Reis, “Forwarding References.” Technical Report N4164, International Standards Organization, Geneva, Switzerland, October 6, 2014 https://isocpp.org/files/papers/N4164.pdf
- ”sutter19 Herb Sutter, “Zero-Overhead Deterministic Exceptions: Throwing Values.” Technical Report P0709R4, International Standards Organization, Geneva, Switzerland, April 8, 2019 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0709r4.pdf
- ”svoboda10 David Svoboda, “Supporting the noreturn property in C1x.” Technical Report N1453, International Standards Organization, Geneva, Switzerland, April 27, 2010 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1453.htm
- “tong15 Hurbert Tong, “Issue 2120: Array as first non-static data member in standard-layout class.” C++ Standard Core Language Closed Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2015) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2120
- “usa13 USA, “Issue 1778: exception-specification in explicitly-defaulted functions.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1778
- ”vandenbos17 Adriaan van den Bos, Appendix C: Positive Semidefinite and Positive Definite Matrices (Wiley & Sons, 2007), pp. 259–263 https://onlinelibrary.wiley.com/doi/abs/10.1002/9780470173862.app3
- “vandevoorde05 Daveed Vandevoorde, “Right Angle Brackets.” Technical Report N1757, Revision 2, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, 2005 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
- ”vandevoorde13 Daveed Vandevoorde, “Issue 1813: Direct vs indirect bases in standard-layout classes.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1813
- “vandevoorde15 Daveed Vandevoorde, “Issue 2094: Trivial copy/move constructor for class with volatile member.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2015) http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#2094
- “voutilainen15 Ville Voutilainen, “noexcept(auto), again.” Technical Report N4473, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, April 10, 2015 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4473
- ”wakely13 Jonathan Wakely, “Compile-Time Integer Sequences.” Technical Report N3493, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, January 11, 2013 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3493.html
- ”wakely16 Jonathan Wakely, “Issue 2796: tuple should be a literal type.” Technical report, Geneva, Switzerland, July 30, 2016 https://cplusplus.github.io/LWG/issue2796
- “whitney16 Tyler Whitney, Kent Sharkey, John Parente, Colin Robertson, Mike Blome, Mike Jones, Gordon Hogenson, and Saisang Cai, “Checked Iterators.” Technical report, Redmond, WA, November 4, 2016 https://docs.microsoft.com/en-us/cpp/standard-library/checked-iterators?view=msvc-160
- ”widman13 James Widman, “Issue 1734: Nontrivial deleted copy functions.” C++ Standard Core Language Defect Reports and Accepted Issues, Revision 104 (Geneva, Switzerland: International Standards Organization, 2013) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1734
- “williams19 Anthony Williams, “The Power of Hidden Friends in C++.” Just Software Solutions blog, June 25, 2019 https://www.justsoftwaresolutions.co.uk/cplusplus/hidden-friends.html
- ”yasskin12 Jeffrey Yasskin, “Issue 1579: Return by Converting Move Constructor.” C++ Standard Core Language Active Issues, Revision 104, number N4750 (Geneva, Switzerland, 2012) http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1579
- “yuan20 Zhihao Yuan, “Converting from T* to bool should be considered narrowing (re: US 212).” Technical Report P1957R2, C++ Standards Committee Working Group, International Standards Organization, Geneva, Switzerland, February 10, 2020 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1957r2.html
- ”zhilin21 Anton Zhilin, “Guaranteed copy elision for return variables.” Technical Report P2025R2, International Standards Organization, Geneva, Switzerland, March 14, 2021 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2025r2.html
Fair Use Sources
C++: C++ Fundamentals, C++ Inventor - C++ Language Designer: Bjarne Stroustrup in 1985; C++ Keywords, C++ Built-In Data Types, C++ Data Structures (CPP Containers) - C++ Algorithms, C++ Syntax, C++ OOP - C++ Design Patterns, Clean C++ - C++ Style Guide, C++ Best Practices ( C++ Core Guidelines (CG)) - C++ BDD, C++ Standards ( C++ 23, C++ 20, C++ 17, C++ 14, C++ 11, C++ 03, C++ 98), Bjarne Stroustrup's C++ Glossary, CppReference.com, CPlusPlus.com, ISOcpp.org, C++ Compilers (Compiler Explorer, MinGW), C++ IDEs, C++ Development Tools, C++ Linter, C++ Debugging, C++ Modules ( C++20), C++ Packages, C++ Package Manager ( Conan - the C/C++ Package Manager), C++ Standard Library, C++ Libraries, C++ Frameworks, C++ DevOps - C++ SRE, C++ CI/CD ( C++ Build Pipeline), C++ Data Science - C++ DataOps, C++ Machine Learning, C++ Deep Learning, Functional C++, C++ Concurrency, C++ History, C++ Topics, C++ Bibliography, Manning C++ Series, C++ Courses, CppCon, C++ Research, C++ GitHub, Written in C++, C++ Popularity, C++ Awesome , C++ Versions. (navbar_cplusplus – see also navbar_cpp_containers, navbar_cppcon, navbar_cpp_core_guidelines, navbar_cpp23, navbar_cpp20, navbar_cpp17, navbar_cpp14, navbar_cpp11)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.