Workshops

On Thursday, October 10, 2024, we will host one-day workshops led by visiting professional C++ trainers from several countries, covering a range of topics. These specialized in-person training events precede the main conference, which follows the next day.

This year’s workshops:

Jason Turner
Applied constexpr: The Power of Compile-Time Resources

Mateusz Pusz
C++ Concepts: Constraining C++ Templates in C++20 and Before

Phil Nash
C++ 20 Coroutines

The outlines for each workshop are provided below.

Special Event

To ensure a high-quality experience for both attendees and trainers, each workshop will have a limited number of seats to enable effective instruction.

These workshops are a special event preceding the main conference, which occurs the following day. Attendees have the option to participate in either or both days, depending on availability; each day is ticketed separately.

Depending on the workshop, attendees should bring their laptops to work on exercises throughout the day. Workshops will typically feature a mix of lectures and instructor-led demonstrations, based on the trainer’s unique style.

All workshops are €525 (including VAT).

Schedule

Each workshop runs from 9:00 AM to 5:00 PM, with scheduled breaks for coffee and lunch. Lunch and refreshments are included with the ticket and will be provided throughout the day-long event.

Workshop Details

Below are details for each scheduled workshop. All workshops run concurrently in adjacent rooms at Breepark in Breda, the Netherlands. More information about Breda and the venue may be found on our front page.

Please bring a laptop to the workshop.

Jason Turner – Applied constexpr: The Power of Compile-Time Resources

By now we all know that constexpr can be used to generate virtually anything at compile time. But what does this mean for our normal day to day C++ work? How, why, and most importantly where do we use constexpr to get the most out of it in our quest for clean, efficient C++?

  • Developing a constexpr mindset
  • General advantages to types that fully support constexpr
  • Disadvantages to constexpr
  • What is actually required to be executed at compile time?
  • Compile-time data verification
  • Creating compile-time resources
  • Utilizing compile-time resources
  • Compile-time sorting
  • Compile-time testing

Mateusz Pusz – C++ Concepts: Constraining C++ Templates in C++20 and Before

C++ Concepts is one of the most significant and long-awaited features of C++20. They improve template interfaces by explicitly stating the compile-time contract between the user and the architect of the code, which limits the number of compilation errors and makes them much more user-friendly when they occur. The workshop will describe this C++20 feature, its similarities, and differences to Concepts TS (provided with gcc-7), and will present ways to benefit from a significant part of the functionality in current production C++ projects that can use only “legacy” C++11 features.

Preconditions to take part in the workshop:

  1. Recent working experience with C++ templates.
  2. A laptop with a web browser and access to the Internet.

Phil Nash – C++ 20 Coroutines

This one-day course covers all you need to know to make effective use of one of modern C++’s most complex, but also most powerful, new features.