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

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

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