experimental

An Introduction to Reflection in C++--Jackie Kay

What's the status of reflection in C++?

An Introduction to Reflection in C++

by Jackie Kay

From the article:

Stop me if you’ve heard this one before. You are working on a messaging middleware, a game engine, a UI library, or any other large software project that has to deal with an ever-growing, ever-changing number of objects. These objects have many different qualities but can be grouped by their functionality: they can be sent across the network or collided with or rendered.

Because you are a good programmer who believes in the DRY principle, you want to write the “action” code that does the stuff on these objects without repetition, and plug in specific Message types or Renderable types into your generic pipeline at the appropriate places. It would be really nice to compose objects hierarchally: for example, if I had a widget class composed of several different renderable Rectangles, I want to be able to automatically generate the rendering code for my widget based on the existing rendering logic for its constituent shapes...

Reflections on the reflection proposals

Since the overview on the current papers for Kona, I wanted to know more about reflection...

Reflections on the reflection proposals

by Jens Weller

From the article

A few weeks ago I wrote a short overview over the most interesting papers for the current C++ Committee meeting in Kona, Hawaii. The big surprise was that there were many papers on reflection, while there already is a very detailed proposal for reflection.

With the C++ committee currently in Kona discussing lots of proposals, there will be some changes to the on going effort for reflection, but the current proposals are detailed enough to give an overview.

HTML Text Editor - final solution

A quick post on the current - and final - solution to use TinyMCE3 with Qt:

HTML Text Editor - final solution

by Jens Weller

From the article:

In the last post about my HTML Text Editor, I mentioned that while the editor worked like it should, other things didn't. I was able to fix at least some of the driver related issues, but kept seeing random crashes. So I decided to try out a different solution, instead of going on a long and tiring debugging trip.

Learn C++ Concepts with Visual Studio and the WSL--Andrew Pardoe

Now you can learn Concepts TS in Visual Studio 2017 by targeting the Windows Subsystem for Linux (WSL):

Learn C++ Concepts with Visual Studio and the WSL

by Andrew Pardoe

From the article:

Concepts enable adding requirements to a set of template parameters, essentially creating a kind of interface. The C++ community has been waiting years for this feature to make it into the standard...

Refactoring the HTML Text Editor for QWebEngine

An update on the HTML Text Editor I hacked with Qt and TinyMCE3:

Refactoring the HTML Text Editor for QWebEngine

by Jens Weller

From the article:

In the last post, I described my experience with using MSVC as a compiler in combination with QtCreator. The reason I set this up was, that with Qt 5.7 QWebkit isn't anymore supported, and the HTML TextEditor based on tinymce3 is a central part of my application. Instead of QWebkit there is now QWebEngine, based on chromium, a very fine solution...

Fold Expressions--Rainer Grimm

Do you know how they work?

Fold Expressions

by Rainer Grimm

From the article:

With fold expressions you can implement the from Haskell known functions foldl, foldr, foldl1 and foldr1 directly in C++. These four functions successively reduce a list to a single value...

C++17 Features--Bartlomiej Filipek

An extensive list of the future standard changes:

C++17 Features

by Bartlomiej Filipek

From the article:

In my last C++ summary (for 2016) I wrote that the draft for C++17 is the most important thing that happened. I’ve put a list of features of the new standard, and today I’d like to expand the topic so we can learn some more details.