So as I was writing my code for my current project, I had this function where a bunch of ifs queried certain properties to decide what version of the code should apply to the element handed to that function.
At the beginning of October JeanHeyd Meneide (aka ThePHD) published a video about his negative experiences in the C++ community and some general data on diversity in tech. As I said on a recent CppCast, I'd like to offer my own thoughts on these issues.
A few weeks ago I wrote about some code I was refactoring from single to multiple purpose. This is the second part looking at how to utilize C++17 for this.
Here is my virtual trip report about attending CppCon 2020 in remo. Thanks to all volunteers, speakers and attendees of this years virtual edition for making this event possible.
For the second time this year I'm refactoring a program from a single purpose to have two or more modes of operation. Both times the start and end result is similar, just the processing is different. A classic case of using polymorphism.
Clazy is a Clang plugin which extends the compiler with over 50 warnings related to Qt best practices ranging from unneeded memory allocations to API misuse. It’s an opensource project spawned by KDAB’s R&D efforts for better C++ tooling.
In 2012 Meeting C++ got started in July. Planned first to be a one off conference, now it is a successfull international conference and a platform for C++ on the internet.
As this crisis unfolds, some word on how this impacts our own community, the C++ world.
Now where the year is a few weeks old, lets see whats ahead for C++ in 2020!
I've spend the past year often working with PHP instead of C++. And now its time to connect some of these systems with the C++ Backend that powers the conference it self.
A specific action causes one of my applications to crash. And so far I've just ignored it, as its not something that hinders daily use. But as I mostly get to work with code written by my self, no body else to blame or fix it. So yesterday I thought - ok - lets quickly fix this. After all I had the IDE already open...
... might not mix that well. And its an interesting language detail causing it.
So in March of this year I did play around with two libraries in Qt and boost, to test out some ideas. This post is about ideas and problems I'm currently thinking about.
So far I covered the basics for connecting boost fusion adapted structs with Qts Model/View architecture. Today is the next step: a simple dialog for editing a single instance of such a fusion enabled type.
Lets say you have a compile type defined type, like a tuple or a fusion sequence. And its easy to access, just call get<Index>(variable) and you get the reference to the types run time instance in the index. Easy. But for this you need to know which index to call at compile time. What if you get that index only at runtime? Like in the previously mentioned Model/View Interface of Qt?
A short blog post on 3 little functions I've written with mp11, to show a bit more how one can work with mp11. The first two are related to working with tags, the last is an easy way to get the member names of a fusion adpated struct into an std::array.
Yesterday and today I did some fun coding to play around with boosts new, C++11 TMP library: mp11. I have an idea, and one of the fundamental building blocks would be boost::fusion and its adapt struct infrastructure. I wanted to know if I could combine fusion and mp11 in a good way, to create a certain interface. I'll likely go into the exact ideas and reasoning for this interface later, for now lets focus on how to create it.
Yesterday I had the pleasure to implement a new feature in my CMS: moving a page or directory with in the website tree. Its quite easy, once you've implemented it, but it was also an interesting exercise in using code I once wrote. In Summer of 2015 I wrote this tree implementation, this old blog post also covers most of the interfaces which I needed to use now.
One of the most popular talks during the review for last years conference, was "The hidden rules of world class C++ code" by Boris Schäling. And indeed, he delivered at the conference. He picked the factory pattern to present his version of world class C++ code, and as it happens to be, I've also have an implementation of this and some experience with boost::factory, which is mentioned in the Bonus Slides of his talk: