Tag: ranges

The Surprising Complexity of Formatting Ranges in Cpp – Barry Revzin – CppCon 2022

  • Lobby
  • Tag Archives: ranges

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

The Surprising Complexity of Formatting Ranges in Cpp - Barry Revzin - CppCon 2022
https://github.com/CppCon/CppCon2022

With the large popularity of {fmt} and the adoption of std::format for C++20, we want to add support for formatting ranges (and tuples) into the standard library. This seems easy enough. After all, how hard could it be to add support for formatting a range?

This talk will start by introducing the std::format API and how it meaningfully differs from the ostream API. Then, we will delve into the technical hurdles of implementing format's feature-rich API for ranges and, with even more difficulty, tuples. By way of this journey, the talk will introduce the library facility that will be standardized for C++23 as well as some ideas of what may still need to be done in the future.
---

Barry Revzin

Barry is a senior C++ developer at Jump Trading in Chicago, a research and technology driven trading firm. After cppcon.digital-medium.co.uk/tag/programming/">programming for many years, he got really into the nuances and intricacies of C++ by being unreasonably active on StackOverflow (where is he is the top contributor in C++14, C++17, C++20, and now C++23). A lot of his C++ knowledge comes from just answering questions that he doesn’t know the answers to, especially when he answers them incorrectly at first.

His C++ involvement escalated when he started attending standards committee meetings in 2016, having written dozens of papers for C++20 and C++23. You might know him from such features as <=>, pack expansion in lambda init-capture, explicit(bool), conditionally trivial special member functions, if consteval, and deducing this, as well as several constexpr and ranges papers.

Outside of the C++ world, Barry is an obsessive swimming fan. He writes fun data articles for SwimSwam and also does analysis for the DC Trident, a professional swim team with Olympic Gold Medalists Zach Apple and Anna Hopkin.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , , ,

The Imperatives Must Go! [Functional Programming in Modern C++] – Victor Ciura – CppCon 2022

  • Lobby
  • Tag Archives: ranges

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

The Imperatives Must Go! [Functional Programming in Modern C++] - Victor Ciura - CppCon 2022
https://github.com/CppCon/CppCon2022

Can a language whose official motto is “Avoid Success at All Costs” teach us new tricks in modern C++ ?
If Haskell is so great, why hasn't it taken over the world? My claim is that it has. But not as a Roman legion loudly marching in a new territory, rather as distributed Trojan horses popping in at the gates, masquerading as modern features or novel ideas in today’s mainstream languages. Functional Programming ideas that have been around for over 40 years will be rediscovered to solve our current software complexity problems.
Indeed, modern C++ has become more functional. From mundane concepts like lambdas & closures, std::function, values types and constants, to composability of STL algorithms, lazy ranges, folding, mapping or even higher-order functions in STL. Did I mention Rust yet?
In this session we’ll analyze a bunch of FP techniques in C++ and see how they help make our code shorter, clearer and faster, by embracing a declarative vs. an imperative style. We’ll visit the functional parts of current STL, use algebraic data types (ADT) and learn about the new FP stuff coming in the next C++ standard, like ranges or monadic extensions to std::future, std::optional and std::expected. Brace yourselves for a bumpy ride including composition, lifting, currying, partial application, pure functions, maybe even pattern matching and lazy evaluation.
---

Victor Ciura

Victor Ciura is a senior software engineer on the Visual C++ team, helping to improve the tools he’s been using for years. Before joining Microsoft, he programmed C++ professionally for 20 years, designing and implementing several core components & libraries of Advanced Installer, improving the virtualization and repackaging technologies for MSI/MSIX.

One of his hobbies is tidying-up and modernizing aging codebases and has been known to build open-source tools that help this process: Clang Power Tools.

He’s a regular guest at Computer Science Department of his Alma Mater, University of Craiova, where he gives student lectures & workshops on using modern C++, STL, algorithms and optimization techniques.

More details: @ciura_victor & https://ciura.ro & linkedin.com/victor-ciura
__

Videos Streamed, Edited, and YouTube Channel Managed by Digital Medium: http://online.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , , , , ,