C++17: Variants!

For compatibility reason to C the C++ language include the union construct which allows to manipulate several different types in a uniform manner. The reason I’m writing that this feature exist for compatibility reasons is that is almost completely useless when you’re doing object oriented programming, the only allowed types to be used with union are POD’s, non […]

Going Green!

I received a book for Christmas, the author is Marie-Monique Robin and the title is “Our Daily Poison..”. This is perhaps the second book I read about the food business, the other one is “Salt Sugar and Fat” by Michael Moss, those books has strengthened my gut feeling that what we eat isn’t safe and […]

About C++

When someone tell me that he know’s C++ and that he actually is a C++ programmer I believe him, but, this statement need some further explanation about which version of C++ the fellas is talking about!. Most C++ programmers knows C++03, eventually a little of C++11 and that’s all. Nowadays the tag C++ is used by […]

Stern-Brocot tree’s.

I’ve encountered this mirable structure this weekend when dealing with cleaver ways to represent fraction of rational numbers n/m where gcd(n,m)=1 (nominator and denominator are relatively prime), Stern-Brocot tree’s are just all about building all the possible fractions that are in they lowest form. What’s interesting (but that came as evident once one understand this structure) is […]

C++17: map splicing

Std::list have a very useful operation which allows you to move elements from one list to another, it’s called splicing. Splicing come’s almost for free, no elements are really moved but only the pointers internally used by std::list are copied from one container to another. Here’s how splicing work: The first invocation of the splice function […]