 Back to Basics: Classic 9STLBack to Basics: Classic STL Bob Steagall CppCon 2021CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Overview • Rationale • History and design overview • Iterators • Containers • Algorithms 2CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Goals and References • Goals • Understand overall STL design • Understand iterators • Recommended references The Standard C++ Library, Second Edition Nicolai M. Josuttis – Addison-Wesley 2012 • Effective STL Scott Meyers – O'Reilly 2001 • Programming: Principles and Practice Using C++, Second Edition Bjarne0 码力 | 75 页 | 603.36 KB | 6 月前3 Back to Basics: Classic 9STLBack to Basics: Classic STL Bob Steagall CppCon 2021CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Overview • Rationale • History and design overview • Iterators • Containers • Algorithms 2CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Goals and References • Goals • Understand overall STL design • Understand iterators • Recommended references The Standard C++ Library, Second Edition Nicolai M. Josuttis – Addison-Wesley 2012 • Effective STL Scott Meyers – O'Reilly 2001 • Programming: Principles and Practice Using C++, Second Edition Bjarne0 码力 | 75 页 | 603.36 KB | 6 月前3
 C++20 STL Features: 1 Year of Development on GitHubC++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej 1 Version 1.0 - September Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors 2Overview Part 0 3CppCon 2019 -> CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 989.72 KB | 6 月前3 C++20 STL Features: 1 Year of Development on GitHubC++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej 1 Version 1.0 - September Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors 2Overview Part 0 3CppCon 2019 -> CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 989.72 KB | 6 月前3
 C++20 STL Features: 1 Year of Development on GitHubSeptember 15, 2020 1 C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej2 Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors Overview Part 04 CppCon 2019  CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 702.09 KB | 6 月前3 C++20 STL Features: 1 Year of Development on GitHubSeptember 15, 2020 1 C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej2 Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors Overview Part 04 CppCon 2019  CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 702.09 KB | 6 月前3
 A New Decade of Visual Studio: C++20, Open STL and MoreConcepts • <=> three-way comparison operator • 84 STL features including • C++ synchronization library 🕙 Coming next • C++20 constexpr • Rest of 24 C++20 STL features • std::ranges, std::format & Chrono https://github.com/microsoft/STL 84 C++20 features completed 36 C++20 features externally contributed YOU ARE AWESOME! ✅ ✅ ✅ ✅ 🐱🏍 Visual Studio Tue 9/15 13:30 – 14:30 C++20 STL Features: One Year of of Development on GitHub Stephan T. Lavavej – generate_n() venue https://microsoft.github.io/STL/std::ranges Huge update in 16.8 Preview 3! • 95% complete 🏁 Try it today • Algorithms: sort, rotate0 码力 | 37 页 | 2.67 MB | 6 月前3 A New Decade of Visual Studio: C++20, Open STL and MoreConcepts • <=> three-way comparison operator • 84 STL features including • C++ synchronization library 🕙 Coming next • C++20 constexpr • Rest of 24 C++20 STL features • std::ranges, std::format & Chrono https://github.com/microsoft/STL 84 C++20 features completed 36 C++20 features externally contributed YOU ARE AWESOME! ✅ ✅ ✅ ✅ 🐱🏍 Visual Studio Tue 9/15 13:30 – 14:30 C++20 STL Features: One Year of of Development on GitHub Stephan T. Lavavej – generate_n() venue https://microsoft.github.io/STL/std::ranges Huge update in 16.8 Preview 3! • 95% complete 🏁 Try it today • Algorithms: sort, rotate0 码力 | 37 页 | 2.67 MB | 6 月前3
 C++26 for C++14 Developers: STL-PreviewC++26 for C++14 Developers: STL-Preview Author Tony Lee Reply-To cosgenio@gmail.com 1. Introduction Since the introduction of modern C++ in 2011, the language has seen seen numerous enhancements, particularly in compiler support and the STL. By 2024, C++23 has introduced many useful standard libraries like ranges, format, expected, and span. Despite these advancements paper introduces stl-preview2, a library that backports most of the latest STL features (including those from C++26) to C++14 (but not limited to), ensuring compatibility with existing STL implementations0 码力 | 3 页 | 129.06 KB | 6 月前3 C++26 for C++14 Developers: STL-PreviewC++26 for C++14 Developers: STL-Preview Author Tony Lee Reply-To cosgenio@gmail.com 1. Introduction Since the introduction of modern C++ in 2011, the language has seen seen numerous enhancements, particularly in compiler support and the STL. By 2024, C++23 has introduced many useful standard libraries like ranges, format, expected, and span. Despite these advancements paper introduces stl-preview2, a library that backports most of the latest STL features (including those from C++26) to C++14 (but not limited to), ensuring compatibility with existing STL implementations0 码力 | 3 页 | 129.06 KB | 6 月前3
 Regular, RevisitedRegular, Revisited X Abstract “Regular” is not exactly a new concept. If we reflect back on STL and its design principles, as best described by Alexander Stepanov in his “Fundamentals of Generic taxonomies? Because STL assumes such properties about the types it deals with and imposes such conceptual requirements for its data structures and algorithms to work properly. STL vocabulary types caller. This talk will explore the relation between Regular types (plus other concepts) and STL constructs, with examples, common pitfalls and guidance.2023 Victor Ciura | @ciura_victor - Regular0 码力 | 180 页 | 19.96 MB | 6 月前3 Regular, RevisitedRegular, Revisited X Abstract “Regular” is not exactly a new concept. If we reflect back on STL and its design principles, as best described by Alexander Stepanov in his “Fundamentals of Generic taxonomies? Because STL assumes such properties about the types it deals with and imposes such conceptual requirements for its data structures and algorithms to work properly. STL vocabulary types caller. This talk will explore the relation between Regular types (plus other concepts) and STL constructs, with examples, common pitfalls and guidance.2023 Victor Ciura | @ciura_victor - Regular0 码力 | 180 页 | 19.96 MB | 6 月前3
 Pipes: How Plumbing Can Make Your C++ Code More ExpressiveCOLLECTIONS IN C++ -∞ Now ? for ( Before we realised STL algorithms were a thing When we realised they were important after all STL algorithms Modern C++ ranges4 auto const inputs = std::vector Pipes: How Plumbing Can Make Your C++ Code More ExpressiveCOLLECTIONS IN C++ -∞ Now ? for ( Before we realised STL algorithms were a thing When we realised they were important after all STL algorithms Modern C++ ranges4 auto const inputs = std::vector- {1 end(inputs), back_inserter(results), [](int i){ return i * 2; }); STL ALGORITHMS auto const inputs = std::vector - {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; auto results = std::vector - {}; * 2; });19 push_back results OUTLINE OF THE REST OF THE TALK What gets in a pipeline ranges STL algorithms Multiple inputs The pipes Inside a pipe Branching out pipes The output of a pipeline 0 码力 | 61 页 | 9.52 MB | 6 月前3
 Constructing Generic Algorithms1ALGORITHMS: THE SOUL OF THE STL ALGORITHMS: THE SOUL OF THE STL 3 . 1A WORD ABOUT RANGES A WORD ABOUT RANGES -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable doesn't exist? -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable." 4 . 1STL ALGORITHMS: A STUDY IN STL ALGORITHMS: A STUDY IN COMPOSABILITY COMPOSABILITY never designed to be complete.. The whole point of the STL is that decoupling containers (with the iterator abstraction) The whole point of the STL is that decoupling containers (with the iterator abstraction)0 码力 | 145 页 | 8.44 MB | 6 月前3 Constructing Generic Algorithms1ALGORITHMS: THE SOUL OF THE STL ALGORITHMS: THE SOUL OF THE STL 3 . 1A WORD ABOUT RANGES A WORD ABOUT RANGES -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable doesn't exist? -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable." 4 . 1STL ALGORITHMS: A STUDY IN STL ALGORITHMS: A STUDY IN COMPOSABILITY COMPOSABILITY never designed to be complete.. The whole point of the STL is that decoupling containers (with the iterator abstraction) The whole point of the STL is that decoupling containers (with the iterator abstraction)0 码力 | 145 页 | 8.44 MB | 6 月前3
 Template-Less Meta-Programminglibraries!" Sean Baxter Sean Baxter 4 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template Template-Less Meta-Programminglibraries!" Sean Baxter Sean Baxter 4 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template- template - constexpr variant - ::variant(T&& // Powered by TMP , // ... { } 5 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template - template - constexpr variant - ::variant(T&& ..>>::type&&; // Powered by TMP 5 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template - template - constexpr variant - ::variant(T&& 0 码力 | 130 页 | 5.79 MB | 6 月前3
 A Long Journey of Changing std::sort Implementation at ScaleQuick sort Take any element Less to the le� More to the right Recurse on both parts 6.5Quick sort (STL version) template A Long Journey of Changing std::sort Implementation at ScaleQuick sort Take any element Less to the le� More to the right Recurse on both parts 6.5Quick sort (STL version) template- void sort(RandomAccessIterator first, RandomAccessIterator __quick_sort_loop(first, last); __final_insertion_sort(first, last); } 1 2 3 4 5 7Quick sort (STL version) template - void sort(RandomAccessIterator first, RandomAccessIterator first, RandomAccessIterator l 3 __final_insertion_sort(first, last); 4 } 5 7.1Quick sort (STL version) template 0 码力 | 182 页 | 7.65 MB | 6 月前3
共 247 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25














