News

CppCon 2017: Delegate this! Designing with delegates in modern C++—Alfred Bratterud

Have you registered for CppCon 2018 in September? Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

Delegate this! Designing with delegates in modern C++

by Alfred Bratterud

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Designing a fast IP stack from scratch is hard. Using delegates made it all easier for IncludeOS, the open source library operating system written from scratch in modern C++. Our header-only delegates are just as fast as C-style function pointers, compatible with std::function, and allows any object to delegate work to stateful member functions without knowing anything about the class they belong to. We use delegates for everything from routing packets to creating REST endpoints, and most importantly to tie the whole IP stack together. In this talk we’ll show you how we use delegates in IncludeOS, discuss pitfalls and alternatives, and give you all you need to get started.

Beyond the Type System—Lucian Radu Teodorescu

Ever wondered how the compiler generates code for your types?

Beyond the Type System

by Lucian Radu Teodorescu

From the article:

Often when we consider a type system we think about a complex formalism to denote the semantics of a language. Languages typically add features by increasing the complexity of the type system.

But there is also another perspective on the type system: how does the generated code look like? what is the ABI for the code that uses different features of the type system? We’ll try to explore this perspective in this blog post.

Everything about unity builds—Viktor Kirilov

A unity build can cut down build times dramatically and is HIGHLY underrated and easily dismissed by many senior software engineers.

Everything about unity builds

by Viktor Kirilov

From the article:

In this post we will go over what it is, all its pros and cons, and why a “dirty hack” might be worth it if it speeds up your builds by at least a factor of 2 or perhaps even in the double-digits.

CppCon 2017: Coroutines: what can’t they do?—Toby Allsopp

Have you registered for CppCon 2018 in September? Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

Coroutines: what can't they do?

by Toby Allsopp

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Coroutines are coming. They're coming for your asynchronous operations. They're coming for your lazy generators. This much we know. But once they're here, will they be satisfied with these offerings? They will not. They will require feeding, lest they devour our very souls. We present some fun ways to keep their incessant hunger at bay. I, for one, welcome our new coroutine overlords.

The Coroutines Technical Specification is an experimental extension to the C++ language that allows functions to be suspended and resumed, with the primary aim of simplifying code that invokes asynchronous operations. We present a short introduction to Coroutines followed by some possibly non-obvious ways they can help to simplify your code.

Have you ever wanted to elegantly compose operations that might fail? Coroutines can help. Have you ever wished for a zero-overhead type-erased function wrapper? Coroutines can help. We show you how and more.

Functions in std—Andrzej KrzemieĊ„ski

The Standard reserves the right to change the signatures and overloads of the existing Standard Library functions in what is considered a backward compatible way:

Functions in std

by Andrzej Krzemieński

From the article:

Names of functions from the Standard Library used as pointers/references to functions can cause breakage in your code...

Slides of the 28th of June 2018 BeCPP Meeting—Marc Gregoire

BeCPP_Logo_282x64.pngOn June 28th 2018, the Belgian C++ Users Group had their next event sponsored by Western Digital.

Slides of the 28th of June 2018 BeCPP Meeting

About the event:

  • "Strongly Typed Declarative Bitsets in C++17" (Ewoud van Craeynest)
  • "The Observer pattern and boost.signals2" (Lieven de ####)

If you couldn’t attend the event in person, or if you would like to go over the material again, you can download them from the BeCPP website.

CppCon: New promo video, and Early Bird registration ends this weekend

Note: Two days left to register for CppCon 2018 at the Early Bird discounted rate.

Just announced on the CppCon blog, here's a two-minute summary video of CppCon 2017. If you weren't there, here's a fast way to get the feel and flavor of the event. If you were there, maybe you'll see yourself. How many of the people can you name?

Early Bird registration ends this weekend

From the announcement:

No matter when you register for CppCon 2018, you be able to meet with over a thousand other professional C++ engineers, including

  • book, blog, and library authors,
  • standards committee members,
  • compiler and other tool implementers, and
  • teachers and trainers
  • scores of the best presenters in the industry, and
  • exhibitors from all over the world

[and] attend

  • five days of six or seven tracks of peer-reviewed presentations,
  • daily plenary talks from recognized industry leaders,
  • multiple lightning talk sessions,
  • expert panels and special sessions,
  • poster presentations, and
  • social events.

But if you do it by this weekend, you save more than enough money to treat yourself to the Meet the Speakers Dinner...

The CppCon Early Bird discounted ticket rate is available through tomorrow. Register here for CppCon 2018, Sep 23-29!