Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023

  Рет қаралды 18,384

CppCon

CppCon

7 ай бұрын

cppcon.org/
---
Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023
github.com/CppCon/CppCon2023
This course provides in introduction to using C++ ranges effectively. Ranges are the largest revamp of the Standard Template Library (STL) in 20 years and impacts daily C++ programming dramatically. The presentation provides a survey of C++20 and C++23 ranges and their application. Note that C++14/17 programmers can also benefit since Range v3 library provides an implementation of many of the discussed facilities.
The tutorial goes beyond the basics to explore what's behind the ranges library. For example, understand the key differences between algorithms and views and when to apply them. We'll look at some of the concepts used in the design of ranges. And finally we'll explore how ranges fits into the wider standard library with i/o integration, collection integration, and support of legacy stl algorithms.
Chock full of example code this tutorial will bootstrap programmer's usage of std::ranges.
---
Jeff Garland
Jeff Garland has worked on many large-scale, distributed software projects over the past 30+ years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written C++ networked code for several large systems including the development high performance network servers and data distribution frameworks. Mr. Garland’s interest in Boost started in 2000 as a user. Since then he has developed Boost.date_time, become a moderator, served as a review manager for several libraries (including asio and serialization), administered the Boost wiki, and served as a mentor for Google Summer of Code. Mr. Garland holds a Master’s degree in Computer Science from Arizona State University and a Bachelor of Science in Systems Engineering from the University of Arizona. He is co-author of Large Scale Software Architecture: A Practical Guide Using UML. He is currently Principal Consultant for his own company: CrystalClear Software, Inc and assistant chair of the Library Working Group for the C++ standards committee.
---
Videos Filmed & Edited by Bash Films: www.BashFilms.com
KZfaq Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk
---
Registration for CppCon: cppcon.org/registration/
#cppcon #cppprogramming #cpp

Пікірлер: 17
@VoidloniXaarii
@VoidloniXaarii 6 ай бұрын
Thank you so much for this rather mind-blow/opening talk. The future feels intimidating, even discouraging to my little knowledge, and yet so full of awesome promise and gut feeling tells me this stuff might be huge as c++ reinvents itself
@NickDrian
@NickDrian 7 ай бұрын
Very useful, thanks!
@TheDoomista
@TheDoomista 7 ай бұрын
I was very confused why half of these examples don't work, then I went to linked godbolt example and realized much of the functionality described in this talk is only available in rangesv3 and not in the standard. Pity.
@DebashishGhoshOfficial
@DebashishGhoshOfficial 6 ай бұрын
For instance, the range_v3 join(delimeter) turns out to be join_with(delimeter) in the std library.
@cristianinujazznight3044
@cristianinujazznight3044 6 ай бұрын
Ufff thank you so much :D
@user-ff8qw2ry6u
@user-ff8qw2ry6u 6 ай бұрын
C++3x+1 point plus linear algebra. Thank you cppcon.
@christianchung9412
@christianchung9412 7 ай бұрын
cool
@germanassasin1046
@germanassasin1046 7 ай бұрын
What always boggled my mind is that cpp folks call callable object a functor which is obviously not a functor. And now when they introduced concept similar to what functor actually is, they called it projection. Why?
@WutipongWongsakuldej
@WutipongWongsakuldej 7 ай бұрын
Probably because it has been that way for the past 30 years. Old habit dies hard I guess.
@dravorek
@dravorek 6 ай бұрын
"Callable" has been in the C++ standard for a while. As a specific concept it's in C++20 as std::invocable. Projections are very specifically not just any callable, they are unary callables that return a value.
@eugnsp
@eugnsp 4 ай бұрын
Because in the most typical use case demonstrated in the presentation this is exactly how maths calls it.
@fgfanta
@fgfanta 7 ай бұрын
I love C++ for sentimental reasons, the 3rd programming language that I started teaching myself when I was a boy, in the days of MS-DOS. But if it takes one hour to explain ranges... I don't know if I really want to learn these too.
@northwestfellow6416
@northwestfellow6416 4 ай бұрын
It takes a little bit more than one hour, it is just a brief video ^_^
@ABaumstumpf
@ABaumstumpf 2 ай бұрын
Why? as if 1-2 hours is a lot.... if you are too lazy for even that then i would assume you do not know how to program in any language to begin with.
@ABaumstumpf
@ABaumstumpf 2 ай бұрын
That views cache is yet another red flag: Something is seriously wrong with just how much damage the committee is doing to the language. Also claiming the talk to be about std::ranges and then using rangev3 (which was objectively more mature and superior)... that is just wrong. The example at 40:00 - rv::join(string_view(" -- ")) That is NOT valid code when using std::ranges.
@eugnsp
@eugnsp 4 ай бұрын
Inability to pass views by const-ref is ridiculous.
STOP Watching Coding Tutorials Right Now! My LEARNING FRAMEWORK
12:19
Harkirat Singh
Рет қаралды 237 М.
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15
100❤️
00:19
MY💝No War🤝
Рет қаралды 21 МЛН
버블티로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 126 МЛН
Smart Sigma Kid #funny #sigma #comedy
00:25
CRAZY GREAPA
Рет қаралды 24 МЛН
Dear Functional Bros
16:50
CodeAesthetic
Рет қаралды 476 М.
The Rust Standard Library is SO Confusing...Until Now!
11:45
Travis Media
Рет қаралды 25 М.
Thinking Functionally in C++ - Brian Ruth - CppCon 2023
50:25
C++20 Ranges in Practice - Tristan Brindle - CppNorth 2022
1:02:17
Mastering Picture Editing: Zoom Tools Tutorial
0:52
Photoo Edit
Рет қаралды 507 М.
Hisense Official Flagship Store Hisense is the champion What is going on?
0:11
Special Effects Funny 44
Рет қаралды 3,1 МЛН
Красиво, но телефон жаль
0:32
Бесполезные Новости
Рет қаралды 839 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 5 МЛН