published at 24.03.2018 23:05
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?
published at 22.03.2018 22:38
published at 20.03.2018 23:05
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.
published at 17.03.2018 20:09
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.
published at 08.03.2018 14:39
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.
published at 01.03.2018 14:20
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:
published at 22.02.2018 16:24
So, yesterday we had a little live coding session at my C++ User Group Düsseldorf. I want to recreate some of this code, to show how C++17 actually does help quite a bit with making code shorter and more expressive. Since I don't have a local C++17 compiler installed, I use godbolt and wandbox to test some of the examples.
published at 16.02.2018 20:17
For a few weeks now, I use Friday afternoon to do some coding. As often managing Meeting C++ has become a non-code activity, it feels good to have a spot in the week where I focus on "what could I code today?". Today I focused on drawing circular text in Qt, which mostly consisted of writing prototype code, there is still lots to tweak if you'd wanted to use this in production.
published at 09.02.2018 17:44
Its time to have a look, what one can expect form the best programming language of the world in 2018...
published at 06.10.2017 23:32
I'd like to share my experience of attending CppCon 2017, or how I'd like to describe it: playing multiplayer "find waldo" for one week. This is also the first time, that I attend a CppCon without speaking, I could complain about this, but actually I was very happy not to speak. There was no time to prepare a new talk anyways, Meeting C++ has kept me busy, but back to CppCon.
published at 12.08.2017 20:30
While writing my CMS, I made one experience: using both std and boost versions of various types in the same code base. Often, it is a 3rd library, in this case from boost, which I use, only supporting the old boost versions. Which is fine, but it makes maintenance and working with the code more difficult, as constantly you see a mix of boost and std.
published at 10.08.2017 15:40
A few weeks ago I announced a C++ review community, which since then has grown to 250+ members on reddit. There has been great feedback and discussions since then, so that the idea is now ready to be tested. With August, the first review period has started, but first have a look at the idea of a review community again:
published at 28.07.2017 15:08
We always hear and see what the latest news on C++ or some particular subset of it is. What one usually does not get to know, is how people got started with C++. But one thing for sure, all of us in the C++ community are either still getting started, or did once. There is a good section on how you could get started today at isocpp.org, but the past did not offer such a luxury.
published at 14.07.2017 17:30
This is very useful if you work with Qt, but could also apply in many other situations. My use case often is Qt, as it does not allow for template classes to be derived from QObject. Hence, all of these UI and widget classes end up being quite concrete implementations.
published at 10.07.2017 12:24
During the weekend I wanted to take a closer look at beast, a http library proposed for boost. I planned to write an http client class, as thats something I'll need in some project later anyways. I've been looking at beast on and off for a few month now, and started by reviewing the documentation and examples to get a feel for the library it self.
published at 06.07.2017 15:24
Just a little bit more then 5 years ago, Meeting C++ went public. Since then, it has been a wild ride and huge success. Today, Meeting C++ reaches over 50k in social media, the conference it self has grown from 150 to 600 in its 5 editions.
published at 13.07.2017 14:47
I've been thinking about this for quite a while, and now its time to give it a try. And in its current state, there are still some unsolved questions, so for now consider this a beta version. It will take one or two month to get this fully started, and I do see this as kind of an open end experiment.
published at 30.06.2017 20:16
published at 22.06.2017 18:25
A few weeks ago I wrote about a self-contained unique_ptr pool, which today I refactored into a more reuseable template. Reason is, that the pool class it self now needs to maintain two different kind of objects into their pools, hence the actual pool code is best now factored out into a template.
published at 22.05.2017 17:20
During C++Now I started writing a small application, that plays around with dlibs face recognition features. More on this later, the program uses the QThreadPool, and some researched showed that calling dlib::get_frontal_face_detector() is a very expensive operation. So I decided to write a thread safe pool to share the face detection object between threads, only loading as many as needed. The main thread owns the pool which owns the detection objects.