Edit: Thanks to comments of Mateusz and A I have corrected code in this post (copy & paste error) Covariant Return Types is language feature which allows you to change return type of your virtual function to covariant type ie. pointer to derived class instead of pointer to base class – see example below:

Read More


Problem In one of previous posts (Readable for_each loop for maps) I have written such code which iterates over range of pairs and “explode” them into the lambda arguments list:

This code is good but it is limited only to containers with pairs (types with defined first and second  attributes). What we would like to have… Read More


Junior task – sum of integers in vector Assume that we have vector of integers ie.

and we want to write function which will sum up all its elements.

In which cases it will work?

Middle task – sum of elements in vector no matter what type Let’s make it more generic… Read More


Problem I have been talking with my colleague about traversing std::map and we both agree that using first-second attributes as a key-value pair is not the most readable solution.

It is not so bad but we would like to write something like this:

Solution I found a way of writing code similar to… Read More