An update on the Workshop Day
There is an update on the Meeting C++ Workshopday in front of Meeting C++ 2016. I am now able to announce the talks that will close out the day! After 3 sessions of hands on learning about boost with Boris Schäling or Multithreading with Rainer Grimm, the day will end with another 90 minute session on topic, as a presentation.
In the boost workshop that is:
Michael Caisse - boost.fusion: power to the tuples
Tuples provide heterogeneous, compile-time containers; however, they can be difficult to use at run-time. Boost.Fusion brings together compile-time and run-time semantics to produce the STL of the meta-programming world. It is the machinery behind several Boost libraries and is a common element in many of the solutions provided by Ciere Consulting.
In this session we will explore the Boost.Fusion library and some real-world use-cases. Specifically, we will be looking at examples where Fusion was employed to simplify library interfaces, provide declarative user experiences, used for introspection, and create efficient and non-intrusive type handling.
Attendees will walk away with a working understanding of Boost.Fusion and several practical usage patterns. Come and learn how to integrate into your own solutions the library that labors behind the scene in Spirit, Xpressive, Geometry, Accumulators, odeint, Proto, Phoenix, and MSM.
Last year James McNellis gave a very good talk on coroutines, and now he will give an update on this in the Multithreading workshop:
James McNellis - Practical C++ Coroutines
One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions”. C++ coroutines are designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.
We will begin this session with an in-depth introduction to C++ coroutines. We will look at the rationale for adding coroutines—why they are useful—and will then demonstrate and explain a sequence of coroutines that gradually introduce the features of C++ coroutines. We will show both how to write various forms of coroutines and also how the coroutines extensibility model enables extending libraries to be non-invasively adapted to work with C++ coroutines.
The theory is interesting, and "Hello, World" examples are fun, but how do C++ coroutines fare when applied to a major library or operating system? How well do C++ coroutines work in practice with real-world user interface code, background tasks, and other complexities of real-world software? To answer these questions, we'll explore the application of C++ coroutines to Modern C++ for the Windows Runtime. We'll look at the coroutine types that we designed for the Modern C++ language projection, with a focus on their usability and performance. Most importantly, we'll look at how coroutines can be used with a sophisticated platform library and discover how various problems are greatly simplified with faced with real platform complexities like UI and threading models.
With this, the full program of the Workshop Day stands. Tickets for either one of the workshops are available directly via invoice or in the ticketshop on the workshop page!