Category Archive for Events

Next BeCPP UG Meeting Planned for May 13th, 2026

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Wednesday May 13th, 2026 at 18:00 at Nokia.

Nokia ( https://www.nokia.com/ ) is sponsoring this event by providing the location, drinks and catering.

Nokia

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Designing Data for Performance and Maintainability (Laurent Carlier)
    Modern software performance often depends less on algorithms and more on how data is organized in memory. This talk explores why optimizing data layout is critical for achieving high performance, particularly in systems programming and data-intensive applications.
    We begin by examining the importance of cache-friendly data structures. While they can have significantly boost performance, they also introduces practical challenges.
    The talk then presents a structured solution to address these drawbacks, restoring usability while preserving performance benefits.
    Finally, we explore how modern reflection techniques can be leveraged to eliminate code repetition, enabling cleaner, safer, and more maintainable code without sacrificing efficiency.
    Attendees will gain practical insights into balancing performance and code quality, along with techniques that can be applied to real-world systems.
  • 19:30: Break
  • 19:45: Session 2: The fastest Java Virtual Machine is the C++26 compiler (Koen Samyn)
    Static compile time reflection is a capability that for a long time seemed like an impossibility for C++. Over the years however, the compiler itself gained the capability of executing C++ code while compiling, which opened the door to adding this meta capability to the language.
    The contents of the talk follows a logical progression: the basics of reflection, writing a simple serializer. The talk concludes with an example of std::meta::substitute (a hidden gem in the P2996 proposal) which is used to transform a java bytecode program into an executable C++ program.
  • 20:45: Introduction to Nokia, followed by a drink.
Professional C++, 6th Edition

We will be giving away two copies of Professional C++, 6th Edition.

The event is free for everyone, but you need to register for it.

There are 80 seats available for this event.

Note: The deadline for registrations is May 10th, 2026!

Share

BeCPP Symposium 2026

🚀 Exciting News: Announcing the First-Ever BeCPP Symposium!

The BeCPP organization is proud to invite the community to a full day of Modern C++ at Howest, Campus Kortrijk on Monday, March 30, 2026.

We are kicking things off with a stellar lineup of international speakers:

  • Bryce Adelstein Lelbach — The CUDA C++ Developer’s Toolbox
  • Chris Croft-White — Agentic Time-Travel Debugging
  • Guy Davidson — Abstraction: The True Superpower of C++
  • Andre Kostur — There’s a Hole in the C++ Type System
  • Phil Nash — Contemporary C++ Testing
  • Keith Stockdale — The journey to “/W4 /WX”: How hard could it be?
  • Herb Sutter — C++: Growing in a world of competition, safety, and AI

➕ Couple more speakers to be revealed soon!

Event Snapshot:

  • 📅 Date: March 30, 2026 (Doors open 09:00)
  • 📍 Location: The Penta, Kortrijk
  • 🎟️ Capacity: Limited to 300 seats
  • 💶 Price: €30 + VAT/BTW

A special thank you to our sponsors for making this possible:

  • Silver🥈 think-cell Software
  • Bronze🥉 HOWEST Hogeschool West-Vlaanderen / JetBrains / Nikon Metrology
  • Community: CppCon, The C++ Conference / ACCU On Sea

⚠️ Registration Deadline: March 23, 2026. Don’t miss out!

👉 Secure your seat here: https://becpp.org/Symposium2026/

Share

Next BeCPP UG Meeting Planned for December 2nd, 2025

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday December 2nd, 2025 at 18:00 at Digital Arts and Entertainment powered by Howest (Campus “The Level”).

Digital Arts and Entertainment powered by Howest ( https://digitalartsandentertainment.be/ ) is sponsoring this event by providing the location, drinks and catering.

Digital Arts and Entertainment powered by Howest

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Fifteen Years of Modern C++: My Favorite Features So Far (Tom Tesch)
    C++ keeps evolving — from the subtle conveniences of C++14 to the expressive power of the upcoming standards.
    In this talk, I’ll share a personal best-of: the language and library features I actually use, love, or teach — with small live examples of how they make code clearer, safer, or just more fun to write.
    This isn’t a standard-by-standard checklist, but a practical reflection on what the past decade of evolution has meant for everyday C++ developers.
  • 19:30: Break
  • 19:45: Session 2: Distributed programming with coroutines and asynchronous communication frameworks (Johan Vanslembrouck)
    This presentation will demonstrate how asynchronous communication frameworks, such as Boost ASIO, Qt, gRPC, Windows overlapped IO, ROS2, TAO and proprietary frameworks, can be used with a single coroutine library to write responsive, distributed applications using a uniform synchronous programming style. Applications that use coroutines are easier to write and are more readable, maintainable and extensible than applications not using coroutines.
    No changes are necessary to these frameworks to use them with the library, and no changes are necessary to the coroutine library to use it with a new communication framework. The presentation will compare examples written with a subset of these frameworks, more in particular, Boost ASIO, Qt, gRPC and Windows overlapped I/O (based upon cppcoro). For each framework, I will compare an example that does not use coroutines with an example that uses coroutines, and (if supported by the framework) with an example that uses synchronous calls.
    The source code of all examples is available on GitHub and runs on Windows 10/11 and on Ubuntu 22.04/24.04 (apart from Windows overlapped I/O) or similar.
  • 20:45: Introduction to Digital Arts and Entertainment powered by Howest, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

We will also be giving away one physical copy and two e-books of C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniques.
C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniques

The event is free for everyone, but you need to register for it.

There are 150 seats available for this event.

Note: The deadline for registrations is November 28th, 2025!

Share

Next BeCPP UG Meeting Planned for January 15th, 2025

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Wednesday January 15th, 2025 at 18:00 at Siemens.

Siemens ( https://plm.sw.siemens.com/en-US/simcenter/physical-testing/testlab/ ) is sponsoring this event by providing the location, drinks and catering.

Siemens
The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Several easy ways to increase the quality of your code, make them yours (Lieven de Cock)
    There are many easy-to-use tools, that help us improve the quality of our code. Nevertheless, there seem to be developers who are not familiar with those tools or don’t use them.
    Why ?
    If the machine can have our back, with quick feedback loops, we should take advantage of that.
    The compiler is your best friend, tweak the warning levels up. Or should we say: compilers are your best friends.
    The next step is static analyzers, once again have the machine inspect your code, no personal preferences to discuss in code reviews, the machine won’t budge or become emotional. We will look at cppcheck and clang-tidy.
    Also at run time we have a few friends to help us out, the sanitizers do an excellent job at finding issues, we will look at valgrind, UBSAN, ASAN, TSAN.
    There are many ways to use these tools, we will look at a way, but there are other ways, find your way in case you don’t like the presented way, as long as you start using the tools.
    We will also look at a way to integrate these tools into the cmake/ctest eco-system.
  • 19:30: Break
  • 19:45: Session 2: Why use coroutines for asynchronous applications? (Johan Vanslembrouck)
    “The Coroutines TS provided a wonderful way to write asynchronous code as if you were writing synchronous code. You just need to sprinkle co_await at appropriate points and the compiler takes care of suspending the coroutine, preserving state across suspend-points and resuming execution of the coroutine later when the operation completes.” (https://lewissbaker.github.io/2020/05/11/understanding_symmetric_transfer)
    An application developer no longer must cut an application into small pieces that do not wait/block internally and that must be stitched together, e.g. using a chain of callback functions or state machines. The C++20 compiler does all the hard work for you now, even for functions with a complex control flow. As a result, you can develop applications much faster, and they are more maintainable than without the use of coroutines.
    The presentation will discuss several example programs, comparing a synchronous version with an asynchronous version and a coroutine version. By the end of presentation, I hope you will be convinced that coroutines are a valuable addition to C++ to write responsive, asynchronous applications.
    The presentation includes a short introduction to coroutines; no in-depth a priori knowledge of coroutines is necessary to follow the presentation.
  • 20:45: Introduction to Siemens, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

We will also give away two copies of Beginning C++23, From Beginner to Pro.
Beginning C++23, From Beginner to Pro

The event is free for everyone, but you need to register for it.

There are 50 seats available for this event.

Note: The deadline for registrations is January 12th, 2025!

Share

Next BeCPP UG Meeting Planned for October 8th, 2024

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday October 8th, 2024 at 18:00 at Dekimo.*

Dekimo ( https://www.dekimo.com/ ) is sponsoring this event by providing the location, drinks and catering.

DekimoLogo
The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Better Threading in C++20 (Lieven de Cock)
    We got threading support by the language and library in C++11. There were however a few things missing, like RAII for a thread object, or a nice way to stop a thread, or to request it to stop. Similar problem, how do we stop a ‘waiting’ condition variable. Most developers have solved these problems with home made solutions. C++20 brings standardized solutions to the table.
    Next to that we also get some new synchronization facilities like barrier/latch/semaphore, all nice additions. There is no longer a need to re-invent the wheel or reach out to 3rd-party libraries. We will look at all these new little tools and investigate on how to use them. So register your stop callback, and by the end of the talk we will request our source to stop, and in our ‘cooperative cancellation’ scheme, do not forget to keep an eye on your stop token.
  • 19:30: Break
  • 19:45: Session 2: Fibers: CoRoutines from the OS (Dave De Breuck)
    This talk delves into fibers in C++, focusing on their role in enhancing concurrency and efficiency. Fibers use cooperative context switching, making them ideal for high-concurrency applications. We’ll explore the principles of fibers, their advantages over traditional threads, and their implementation in C++.
  • 20:45: Introduction to Dekimo, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

We will also give away two copies of Beginning C++23, From Beginner to Pro.
Beginning C++23, From Beginner to Pro

The event is free for everyone, but you need to register for it.

There are 75 seats available for this event.

Note: The deadline for registrations is October 1st, 2024!

* There are limited number of parking places available at the location itself. However, there are free parking places available on the Brusselsesteenweg and in the streets around the office. Additionally, the free P+R parking Gentbrugge Arsenaal is at 1km with a tram connection to the office. There is a bus stop and a tram stop in front of the office.

Share

Pure Virtual C++ 2024 Conference

Pure Virtual C++ is a free one-day virtual conference for the whole C++ community. This year it will run on April 30th 15:00 UTC. Sign-up for free to get access to five sessions on the day and a host of pre-conference content.

Here is the list of sessions:

  • Automated Testing of Shader Code with Keith Stockdale (Rare) – Rare has a rich culture of writing automated tests for their game and engine code. The ‘Sea of Thieves’ project has hundreds of thousands of automated tests that exist to validate behavior and to ensure that bugs are kept to a minimum, as we continually deliver an ever-changing experience to players. Among this large test suite are tests that validate and verify shader code. This session explores the new Rare Shader Test framework, describing how tests are written for shader code. The talk will also delve into the C++ and HLSL implementation of the shader testing framework to discuss the design goals of the system, and how we are using C++ to meet these design goals.
  • Message Handling with Boolean Implication with Ben Deane (Intel) – Message reception and dispatch is something common to many codebases. This talk shows the unreasonable effectiveness of going back to basics and really understanding and unlocking the power of Boolean algebra in the design of a message handling library. We’ll talk about composing predicates on messages and manipulating them at compile time in order to do the least work when dispatching them at runtime. Particularly we’ll introduce implication, develop an intuition for this lesser-used Boolean operation, and see how it is key to a generic approach for simplifying predicates.
  • I Embedded a Programming Language In Debug Information with Sy Brand (Microsoft) – DWARF information on Linux provides debuggers with a bridge between high-level source code and the machine instructions generated by the compiler. As part of this, it describes how to locate variables within your program at runtime using a language called DWARF Expressions. When implementing a parser for DWARF Expressions I thought “this seems suspiciously Turing-complete, can I implement a programming language inside this?” It turns out the answer is yes. In this session you’ll learn how debug information and executables are stored on Linux systems and how I managed to (ab)use them to implement a programming language interpreter that runs when you ask your debugger for the address of a variable.
  • Enhancing C++ development with Copilot Chat with Sinem Akinci (Microsoft) – Copilot is an AI-powered pair programmer integrated into Visual Studio and VS Code that can be there to assist you at many different points in your C++ development journey. In this session, we’ll introduce Copilot and Copilot Chat, share tips for achieving the results you want, and provide different use cases for using these tools. Then, we’ll see these tools in action in C++ code in Visual Studio as we tackle a variety of problems from navigating and understanding code to refactoring existing code.
  • Progress Report: Adopting Header Units in Microsoft Word with Zachary Henkel (Microsoft) – Microsoft Office is a huge C++ codebase with nearly 100 million lines of native code. This size provides a constant challenge to build the product as quickly as possible. C++20 header units are a way to receive many of the benefits of modules, while still working with a codebase originally designed for classic header inclusion. At CppCon 2022 we announced that Office would investigate header units with the goal of improved build throughput. We’re excited to present the results of that work for the benefit of the C++ community at large. In this session, we’ll share build performance metrics for the first time.
Share

Next BeCPP UG Meeting Planned for April 8th, 2024

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Monday April 8th, 2024 at 18:00 at Attentia.

Attentia ( https://www.attentia.be/ ) is sponsoring this event by providing the location, drinks and catering.

Attentia Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Building a class for modular arithmetic (Toon Baeyens)
    Writing modern C++ is not easy. Yet, doing it well brings you many benefits. The code will be elegant, and the program will be fast.
    In this talk, we will be building a type for modular arithmetic as an excuse to discover many powerful features and techniques within the C++ ecosystem.
    This adventure will take us from concepts, metaprogramming, and dependent types to integer division, studying generated assembly and micro-benchmarking.
  • 19:30: Break
  • 19:45: Session 2: Using C++ in the cloud using the AWS C++SDK (Hans Klabbers)
    Have you ever wondered what cloud computing and serverless provide you as a software developer that creates software with C++? During this talk you will get insight in Amazon Web Services a.k.a. AWS Cloud. A demo of a serverless solution created with AWS services and software built with C++ will be shown during the talk.
  • 20:45: Introduction to Attentia, followed by a drink.

Professional C++, 6th Edition
We will be giving away a copy of Professional C++, 6th Edition.

Beginning C++23, From Beginner to Pro
We will also give away a copy of Beginning C++23, From Beginner to Pro.

The event is free for everyone, but you need to register for it.

There are 60 seats available for this event.

Note: The deadline for registrations is April 4th, 2024!

Share

Next BeCPP UG Meeting Planned for October 31st, 2023

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday October 31st, 2023 at 18:00 at DAE and Howest (Howest, Campus Kortrijk Weide – The Penta).

DAE ( https://digitalartsandentertainment.be/ ) and Howest ( https://www.howest.be/ ) are sponsoring this event by providing the location, drinks and catering.

DAE Logo Howest Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Elevating Precision in C++: A Journey below the Surface of Floating-Point (Tom Tesch)
    Floating-point numbers, with their varying levels of precision, serve as foundational components in the toolkit of both new and seasoned C++ developers. In this presentation, we will uncover the inner workings of floating-point variables, explore their limitations, and discuss strategies for extending precision while being mindful of associated trade-offs. Join us as we embark on a journey into the realm of floating-point arithmetic in C++, offering insights that will enhance your programming finesse.
  • 19:30: Break
  • 19:45: Session 2: Coroutines: Don’t try this at home (Lieven de Cock)
    In C++20 we got the core language feature “coroutines”. Mostly oriented to the advanced c++ programmers, and not for the mere mortals, since it requires a lot of boilerplate one would not like to write. It provides the fundamentals to further build upon. Unfortunately the STL library did not build on it yet, more was to come in C++23.
    In C++23 we will only get one follow up: std::generator.
    So let’s revisit coroutines. What are they? A function that can be suspended and resumed. Easily said, but how to make use of it and write that boilerplate after all. We will look at the coroutine from 2 different angles: the user code and the compiler, and we will inspect what each wants or would like to have, and where we need to glue them together and what is needed for that purpose. We will give insights on topics like: coroutine frame, couroutine handle, promise_type, the interface or api.
    And if time permits we will look at an example of coroutines in use in asynchronous code (because a misconception is that coroutines (purely) have to do with threads and async’s).
  • 20:45: Introduction to DAE and Howest, followed by a drink.

The event is free for everyone, but you need to register for it.

There are 250 seats available for this event.

Note: The deadline for registrations is October 29th, 2023!

Share

Next BeCPP UG Meeting Planned for May 11th, 2023

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Thursday May 11th, 2023 at 18:00 at Twikit.

Twikit ( https://www.twikit.com/ ) is sponsoring this event by providing the location, drinks and catering.

Twikit Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: C++23 – What’s in it for You? (Marc Gregoire)
    C++23, the next release of the C++ standard, introduces new features to the core language and to the Standard Library. This session will bring you up to date with the latest features coming with this new release.
    The session includes core language topics such as consteval if statements, multidimensional subscript operators, decay copy, unreachable code, and more. New Standard Library features that will be shown include monadic operations for std::optional, std::flat_map, std::flat_set, a stacktrace library, changes to the ranges library, improvements to std::format, std::expected, and many more.
  • 19:30: Break
  • 19:45: Session 2: Emscripten, what and how? (Dave De Breuck)
    This talk will give a brief introduction of Emscripten itself and explain how Emscripten, an LLVM-based compiler, converts C++ to JavaScript, which lets you run a C++ codebase on the web at near-native speed.
  • 20:45: Introduction to Twikit, followed by a drink.

The event is free for everyone, but you need to register for it.

There are 60 seats available for this event.

Note: The deadline for registrations is May 9th, 2023!

Share

Next BeCPP UG Meeting Planned for January 17th, 2023

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday January 17th, 2023 at 18:00 at Medicim / Envista.

Medicim / Envista ( https://www2.medicim.com/ ) is sponsoring this event by providing the location, drinks and catering.

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Constraints and Concepts (Peter Van Weert)
    This presentation consists of two parts:
    First, I explain how you can, and more importantly should, constrain your template arguments using requires clauses and, typically, concepts. Doing so results in more readable compilation errors, self-documenting template definitions, and easier, more expressive template specialization.
    Next, I show how you can define your own concepts using the new syntax introduced in C++20. Quite some new syntax to learn, for sure, but you’ll quickly see that constraints and concepts are far easier to master (or at least understand) than the more advanced SFINAE techniques (std::enable_if_t, std::void_t, …) they essentially supersede.
  • 19:30: Break
  • 19:45: Session 2: Space Invaders: The Spaceship Operator is upon us (Lieven de Cock)
    Before C++20 we had to write 6 comparison operators for our user defined types (or even more). For sure, a tedious task. All this gets simplified with the introduction of the spaceship operator.
    What happens to your code, when you turn on “-std=c++20” even before we go near the spaceship operator, did your build break? Why does that happen? We will first investigate, another new feature of C++20, the rewriting rules, and how that impacts your code base. And then we will dissect the spaceship operator, from a using perspective, and from an implementation perspective. Oh yes, comparison categories, what are those, and why are these important with respect to the spaceship operator? All will be answered, what initially looked so simple, does require some extra thoughts it seems to correctly use the tool.
  • 20:45: Introduction to Medicim / Envista, followed by a drink.
Professional C++, 5th Edition


We will be giving away a copy of Professional C++, 5th Edition.

The event is free for everyone, but you need to register for it.

There are 75 seats available for this event.

Note: The deadline for registrations is January 13th, 2023!

Share

Next BeCPP UG Meeting Planned For June 28th, 2022

After a long break due to the Corona pandemic, I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday June 28th, 2022 at 18:00 at Vandewiele Experience Center.

Vandewiele ( https://www.vandewiele.com/ ) is sponsoring this event by providing the location, drinks and catering.

Vandewiele Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Minimal Logging Framework in C++ 20 (Koen Poppe)
    As developers, adding log statements seems easy and risk-free. However, with hundreds of machines, collecting those log files can become quite a challenge, let alone making sense of the important information they contain. We set out to reduce logging to its essentials and explore optimisations not only in terms of disk space, but also runtime performance and even exposure. Leveraging ideas from well-known software related workflows, we will write a C++20 logging framework from scratch and highlight some surprises along the way.
  • 19:30: Break
  • 19:45: Session 2: Modern CMake (Lieven de Cock)
    CMake is a cross-platform open source software for managing the build process in a portable fashion. We will have a look at the basics of modern CMake. The old, pre modern cmake way should be considered obsolete, for very good reasons. We will talk about targets, build types, dependencies, usage specifications, …, a quick look on cross compilation, and using 3rd party libraries.
  • 20:45: Introduction to Vandewiele, followed by a drink.

Professional C++, 5th Edition
We will be giving away 2 copies of Professional C++, 5th Edition.

The event is free for everyone, but you need to register for it.

There are 30 seats available for this event.

Note: The deadline for registrations is June 22th, 2022!

Share

Next BeCPP UG Meeting Planned For June 24th, 2021

The next meeting of the Belgian C++ Users Group is planned for Thursday June 24th, 2021 at 18:00 and will be held online through Microsoft Teams.

The agenda is as follows:

  • 18:00: The Teams meeting will start to give people plenty of time to join.
  • 18:30: Session 1: A new way of formatting in C++20, are we getting there in the end? (Lieven de Cock)
    We will have a look at the problems the (s)printf family has brought upon us for decades, how iostreams tries to solve this in an unfriendly way, and how we can now have the best of both worlds, with the upcoming C++20 std::format (or for now with the reference implementation fmt::format).
  • 19:30: Session 2: Understanding value categories in C++ (Kris van Rens)
    In C++ today, do you know what an xvalue is? Or a prvalue? Why would you want to know? Because it matters! In C++, each expression is characterized by a value category. These value categories are used to describe parts of the C++ standard, and are often used in books and articles. You might have heard of terms like ‘lvalue’ or ‘rvalue’, which are the most commonly known ones. Over the years, changes to the C++ language changed the meaning of value categories. This means a lot of information about value categories is outdated or just plain wrong. In this talk, I will explain what expression value categories are in today’s C++ standard. It turns out that knowledge about value categories can really be beneficial. Not only will it enrich your understanding of C++ in general, it will deepen your understanding of mechanisms like move semantics. Also, it can help you to make better choices about code. These choices can then leverage language rules to enable compilers to generate efficient code without redundant copies. Other, related topics that will be covered: copy elision, return value optimization, temporary materialization.

The event is free for everyone, but you need to register for it.

There are 300 seats available for this event.

Note: The deadline for registrations is June 23rd, 2021!

Share

CppCon 2020 Sessions

I’ll be giving two sessions this year at CppCon 2020:

  • A keynote session titled “C++20: An (Almost) Complete Overview”:
    The technical work on C++20 was finished in January 2020, and is now being pushed through ISO certification.
    This presentation gives an overview of (almost) all new features in both the language and the Standard Library. Some more exotic features will be left out. New language features include modules, coroutines, concepts, templated lambdas, constexpr changes, designated initializers, the spaceship operator, string literals as template parameters, feature test macros, conditional explicit, immediate functions, and more.
    The second part of the session discusses the changes to the Standard Library. This includes topics such as ranges, atomic smart pointers, cancellable threads, a synchronization library, calendars, time zones, span, a formatting library, features test macros, and more.
    The material is mostly the same as the “C++20: What’s in it for you?” session from CppCon 2019, but it has been updated with the final standard. If you want a complete overview of all C++20 features, including references to other more deep-dive sessions at CppCon 2020 on certain topics, then this session is for you.
  • And a session titled “C++20 String Formatting Library: An Overview and Use with Custom Types”:
    C++20 introduced a nice formatting library with std::format(). This session will explain what the formatting library provides, how to use all of its functionality, and most importantly, how you can customize it so that you can use formatting strings that include your very own custom types and custom formatting parameters, and of course, how to handle errors.
Share

CppCon 2020 Keynote

I’m thrilled to announce that I’ll be giving a keynote presentation at this year’s CppCon. Here is the official announcement 😎

The title of my keynote talk is “C++20: An (Almost) Complete Overview”. C++20 is going be discussed quite a bit at this year’s conference and in addition to providing an overview of the new language/library changes, I will guide attendees to other CppCon talks related to C++20.

If you want a complete overview of all C++20 features, including references to other more deep-dive sessions at CppCon 2020 on certain topics, then this session is for you.

After this talk, you should have the confidence and familiarity you need to embrace the latest version of C++.

Part of the abstract:

This presentation gives an overview of (almost) all new features in both the language and the Standard Library. Some more exotic features will be left out. New language features include

  • modules,
  • coroutines,
  • concepts,
  • templated lambdas,
  • constexpr changes,
  • designated initializers,
  • the spaceship operator,
  • string literals as template parameters,
  • feature test macros,
  • conditional explicit,
  • immediate functions,
  • and more.
Share

Next BeCPP UG Meeting Planned For March 30th, 2020

This event is cancelled in light of the current state of the Covid-19 outbreak.
We will try to get our two international speakers, Greg and DeWang, back to Belgium at a future event.

The next meeting of the Belgian C++ Users Group is planned for Monday March 30th, 2020 at 18:00 at KU Leuven Department of Computer Science. The welcoming and reception takes place at Foyer Computerwetenschappen (room 00.191), while the sessions will take place in Auditorium Erik Duval (room 00.225)

Dekimo ( https://www.dekimo.com/ ) and KU Leuven Department of Computer Science ( https://wms.cs.kuleuven.be/cs/english ) are sponsoring this event by providing the location, drinks and catering.

Dekimo Logo
KU LeuvenLogo

This time we have two international speakers:

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Amazing tricks with the GDB debugger (Greg Law)
    If you’re writing C++ for anything other than Windows, chances are that you occasionally break out GDB. This session presents some of the lesser known features of GDB that can change the way you debug. GDB has come a long way in the last few years and now does so much more than break, print, step and continue. Reversible debugging; Non-Stop Mode; Multi-process Debugging; and Dynamic Printf are but some of its best features, and its built-in Python scripting is particularly powerful. Join Undo co-founder and CEO, Greg Law, as he takes you through a series of demos to show some amazing tricks with GDB and some of its powerful new (and not-so-new) features that you may not have heard of.
  • 19:15: Session 2: Static analysis and Coverity (DeWang Li)
    The C/C++ code you create plays such a pivotal role on our planet, and as such, companies are investing heavily into ensuring they are safe and robust. One of the disciplines they invest in to ensure that is static analysis. DeWang will explain the fundamentals of static analysis, and using his favorite product, Coverity, demonstrate some of its capabilities. He will share stories from working with some of the top Silicon Valley companies and how they apply Coverity.
  • 19:55: Break
  • 20:10: Session 3: Interactive discussion on pointers (Lieven de Cock)
    Let’s have an exchange of thoughts on the topic of pointers: raw pointers, smart pointers, std/boost::optional and std::reference_wrapper.
    How to express intent and how to avoid checking things that might not be needed to check?
    We will present some use cases to get the discussion going. This is an interactive session, so start thinking about questions or opinions you might have.
  • 20:50: Introduction to Dekimo, and KU Leuven Department of Computer Science, followed by a drink.
C++17 Standard Library Quick Reference


We will give away a copy of C++17 Standard Library Quick Reference.

The event is free for everyone, but you need to register for it.

There are 100 seats available for this event.

Note: The deadline for registrations is March 26th, 2020!

Share

Next BeCPP UG Meeting Planned For January 29th, 2020

The next meeting of the Belgian C++ Users Group is planned for Wednesday January 29th, 2020 at 18:00 at OMP.

OMP ( https://www.omp.com/ ) is sponsoring this event by providing the location, drinks and catering.

OMP Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Coroutines in C++20 (Johan Vanslembrouck)
    A coroutine is a function that can suspend execution to be resumed later. Coroutines allow for sequential code that executes asynchronously (e.g. to handle non-blocking I/O without explicit callbacks), and also supports algorithms on lazy-computed infinite sequences and other uses. Unlike most other languages that support coroutines, C++ coroutines are open and not tied to any particular runtime or generator type and allow libraries to imbue coroutines with meaning, whereas the compiler is responsible solely for efficient transformation of a function to a state machine that is the foundation of the coroutine.
    The presentation will explain the C++ coroutines mechanism, i.e. code generated by the compiler and the code to be written by a coroutine developer. The presentation includes examples of an client-server application using Boost ASIO in combination with C++ 20 coroutines and a producer-consumer queue implemented with and without coroutines.
  • 19:30: Break
  • 19:45: Session 2: The evolution of the C++ Lambda (Lieven de Cock)
    Before C++11, we had to write function objects (functors) or free standing functions to pass as the callable to several algorithms (for example: for_each). The drawback was that we were introducing objects in a bigger scope than actually needed, and it can be considered as rather some boilerplate.
    With the introduction of the lambda we can write (little) callables at the moment we need them. Over the years (or better said over the new standards) the lambdas gained extra power and became more user friendly. In this talk we will have a look on the evolution of the lambda since its birth in C++11.
  • 20:45: Introduction to OMP, followed by a drink.
Professional C++, 4th Edition


We will be giving away 2 copies of Professional C++, the 4th Edition.

C++17 Standard Library Quick Reference


We will also give away a copy of C++17 Standard Library Quick Reference.

The event is free for everyone, but you need to register for it.

There are 100 seats available for this event.

Note: The deadline for registrations is January 26th, 2020!

Share

Next BeCPP UG Meeting Planned For October 10th, 2019

The next meeting of the Belgian C++ Users Group is planned for Thursday October 10th, 2019 at 18:00 at Brabanthal (room Luna).

think-cell ( https://www.think-cell.com/ ) is sponsoring this event by providing the location, drinks and catering.

think-cell Logo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: C++20: What’s in it for you? (Marc Gregoire)
    With the current three-year pace of C++ releases, the next release is scheduled for 2020, C++20. This presentation gives an overview of what you can expect in the new standard. It starts with discussing the C++20 language features that will be added by the C++20 standard, such as concepts, coroutines, templated lambdas, the spaceship operator, pack expansion in lambda captures, string literals as template parameters, extra initializer for range-based for loop, modules, and more. Next, we’ll delve into the new Standard Library features, such as ranges, std::span, atomic smart pointers, and more. Depending on the outcome of the next C++ Standard Committee meeting, the list of new features might include improved futures, task blocks, and text formatting. If you want a concise overview of what the C++20 standard will offer, then this presentation is for you.
  • 19:30: Break
  • 19:45: Session 2: From Iterators To Ranges — The Upcoming Evolution Of the Standard Library (Arno Schödl)
    Pairs of iterators are ubiquitous throughout the C++ library. It is generally accepted that combining such a pair into a single entity usually termed Range delivers more concise and readable code. Defining the precise semantics of such Range concept proves surprisingly tricky, however. Theoretical considerations conflict with practical ones. Some design goals are mutually incompatible altogether.
  • 20:45: Introduction to think-cell, followed by a drink.
Professional C++, 4th Edition


We will be giving away 2 copies of Professional C++, the 4th Edition.

C++17 Standard Library Quick Reference


We will also give away a copy of C++17 Standard Library Quick Reference.

The event is free for everyone, but you need to register for it.

There are 80 seats available for this event.

Note: The deadline for registrations is October 9th, 2019!

Share

LLVM Meetup, Leuven, 19th of June

The second Belgian LLVM Meetup will take place at the Guardsquare offices in Leuven, the 19th of June. Anyone who’s working with, or is simply interested in, the LLVM project or any of its tools; Clang, lldb, lld, Polly,… is invited. The evening starts off with three short talks on various LLVM related topics. Afterwards, there will be plenty of time to exchange experiences and get to know the local LLVM community.

Schedule:

  • 20h00: Arrival
  • 20h30: Talks ( +- 20min each )
    • Just compile it: High-level programming on the GPU with Julia.
    • Sim: a contract-based programming language for safety-critical software.
    • Processing complete iOS applications on top of LLVM.
  • 21h30: Drinks

More details at: http://meetu.ps/e/GMrp0/BJHXT/f

Share

Next BeCPP UG Meeting Planned For July 3rd, 2019

The next meeting of the Belgian C++ Users Group is planned for Wednesday July 3rd, 2019 at 18:00 at CluePoints @ OFFBar | ONSpace.

CluePoints ( https://cluepoints.com/ ) is sponsoring this event by providing the location, drinks and catering.

CluePoints Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: What’s new in Visual C++ 2019? (Marc Gregoire)
    Microsoft Visual Studio 2019 and Visual C++ 2019 come with a host of new features. In this session, we will have a look at the important changes and improvements for C++ developers.
  • 19:30: Break
  • 19:45: Session 2: Statistical Scientific programming: challenges in converting R to C++ (Olivia Quinet)
    Scientific programming is in itself a challenge due to several concomitant issues and requirements including low response time, low memory usage, minimizing numerical errors, error propagation.
    R is a programming language for statistical computation providing a wide set of packages for linear and non linear modeling, statistical tests, …
    This talk will focus on the different Object-Oriented strategies implemented to overcome those challenges, speed up the computation while reducing the memory footprint.
  • 20:45: Introduction to CluePoints, followed by a drink.
Professional C++, 4th Edition


We will be giving away 2 copies of Professional C++, the 4th Edition.

Beginning C++17, From Novice to Professional


We will also give away two copies of Beginning C++17, From Novice to Professional.

The event is free for everyone, but you need to register for it.

There are 50 seats available for this event.

Note: The deadline for registrations is June 30th, 2019!

Share

Next BeCPP UG Meeting Planned For February 4th, 2019

The next meeting of the Belgian C++ Users Group is planned for Monday February 4th, 2019 at 18:00 at Sioux @ Aldhem Hotel (Room d’Artagnan 3 & 4).

Sioux ( http://www.sioux.eu/ ) is sponsoring this event by providing the location, drinks and catering.

Sioux Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: Parsing CSS in C++ with Boost Spirit X3 (Ruben Van Boxem)
    Reading and writing is a fundamental part of programming. Even more so in C++, as it is a relatively low-level language. If not hand-written from scratch, C++ programmers often resort to parser generators such as Antlr, Bison, byacc, Flex, and many others. The former option increases maintenance burden, as the code involved is usually not trivial and error-prone. The latter option complicates the build setup and one loses a certain degree of flexibility in how the parser can be handled.
    The authors of Boost.Spirit approached this dichotomy, shook it up a bit, and came up with something better. Boost Spirit, already at its third iteration of implementation, harnesses the C++ language and its generative power to enable us to write parser grammar in C++. This allows for the flexibility of using C++, combined with full control of what is parsed how, while maintaining the simplistic abstract representation of what is being parsed. The latest iteration, X3, employs techniques made possible by C++14 to simplify its implementation, to decrease compile times whilst providing the same flexibility of previous versions. I intend to give a general introduction, followed by a partial implementation of a CSS parser, and hope the power of Boost Spirit can convince you to at least give it whirl.
  • 19:30: Break
  • 19:45: Session 2: Using Monoids in C++ (Kristoffel Pirard)
    Effective coders recognise tedious repetition and transform it into reusable patterns. Frameworks, libraries and design patterns arise from it. After the GoF Object Oriented patterns, today we are also learning from the functional programming world. One of the patterns they bumped into is the Monoid: it has its application in addition, accumulation, concatenation, you name it. And it’s a simple one.
    This talk is about how Monoids seem to be everywhere, and how recognising them has influenced my daily practice. It will show a glimpse of the land of functional design patterns and look at practical aspects of using Monoids in C++. I believe it’s important. And I believe there’s a lot more to be discovered.
  • 20:45: Introduction to Sioux, followed by a drink.

Professional C++, 4th Edition
We will be giving away 2 copies of Professional C++, the 4th Edition.

C++ Standard Library Quick Reference
We will also be giving away a copy of C++ Standard Library Quick Reference.

Beginning C++17, From Novice to Professional
And finally, we will also give away a copy of Beginning C++17, From Novice to Professional.

The event is free for everyone, but you need to register for it.

There are 70 seats available for this event.

Note: The deadline for registrations is January 27th, 2019!

Share