Let's unravel the secrets behind C++17's structured bindings

Posted on Sun 17 May 2020 in C++ • Tagged with C++17, structured bindings.

Trivia:

I had a good intuition on how structured bindings worked when C++17 came out. The feature is quite intuitive to use and provides great help. But it is not until recently that I actually read the part of the standard that describes how this truly works under the …


Continue reading

Making a STL-compatible hash map from scratch - Part 3 - The wonderful world of iterators and allocators

Posted on Fri 01 May 2020 in C++ • Tagged with C++20, C++17, hash map, unordered_map, iterator, allocator

This post is part of a series of posts:

In the previous post, we prepared our data-structure to be able to store our …


Continue reading

Making a STL-compatible hash map from scratch - Part 2 - Growth Policies & The Schrodinger std::pair

Posted on Mon 13 April 2020 in C++ • Tagged with C++17, hash map, unordered_map.

This post is part of a series of posts:

In the previous post, we started a quest that consists in …


Continue reading

Making a STL-compatible hash map from scratch - Part 1 - Beating std::unordered_map

Posted on Mon 06 April 2020 in C++ • Tagged with C++17, hash map, unordered_map.

This post is part of a planned series of posts:

Part 1 - Beating std::unordered_map

Trivia:

If C++ had an …


Continue reading

Trip report - Meeting C++ 2019

Posted on Fri 29 November 2019 in C++ • Tagged with C++, event, meetingcpp

Time to go back to the roots! Me and a few colleagues have been travelling across the old continent to attend the renowned Meeting C++ conference in Berlin.
Fully backed by our employer, King, we were able to enjoy a yearly dose of C++ talks at an excellent venue. I …


Continue reading

How to make your maps, try_emplace and smart pointers play nicely with each others in C++17.

Posted on Sun 18 November 2018 in C++ • Tagged with C++17, std::map, std::unordered_map.

Trivia:

Lately, I have been working on the reincarnation of a class at work: a hash map. While this class had interesting internals (a sort of dense hash map) and performed really well, its interface was not up to standard both literally and metaphorically. After much of lipstick applied to …


Continue reading

Trip report - CppCon 2018

Posted on Sun 07 October 2018 in C++ • Tagged with C++, event, cppcon

New year, new conference! This time, my employer, King, helped me to organize a first pilgrimage to CppCon for me and another colleague. You cannot fathom how enthusiastic I was to finally making it there! Although I might be a bit late on the "trip-report-race", I think that it is …


Continue reading

Meta Crush Saga: a C++17 compile-time game

Posted on Sat 19 May 2018 in C++ • Tagged with C++17, TMP, meta programming, constexpr

Trivia:

As a quest to obtain the highly coveted title of Lead Senior C++ Over-Engineer, I decided last year to rewrite the game I work on during daytime (Candy Crush Saga) using the quintessence of modern C++ (C++17). And... thus was born Meta Crush Saga: a compile-time game. I …


Continue reading

Trip report - Meeting C++ 2017

Posted on Thu 16 November 2017 in C++ • Tagged with C++, event, meetingcpp

Finally, after years of watching youtube videos on that topic, I made it to my first C++ international conference! Thanks to my current employer King, I went last week to Meeting C++ in Berlin, which is, as far as I know, the biggest C++ event in Europe. I really enjoyed …


Continue reading

An introduction to C++'s variadic templates: a thread-safe multi-type map

Posted on Mon 01 February 2016 in C++ • Tagged with C++11, C++14, variadic templates, meta programming

Trivia:

One of our favorite motto in our C++ team at work is: you shall use dependency injections instead of singletons! It actually comes with our unit-testing strategy. If the various components of your architecture are too tightly coupled, it becomes a tremendous effort to deeply test small critical chunks …


Continue reading