advanced

Modern generic programming using the Tick and Fit libraries

Paul Fultz II talked at C++Now 2015 about generic programming.

Modern generic programming using the Tick and Fit libraries

By Paul Fultz II

From the abstract:

C++ templates provide a very powerful abstraction for generic programming. Even so, they still suffer from long and confusing compile errors and this puts an extra burden of complexity on library writers who want to provide flexibility in their interfaces. In this talk, we will first discuss the importance of concept-based type requirements in code in order to produce clear compile errors, and how the Tick library can be used to specify and check those type requirements.

Later, we will discuss how the Fit library can further enhance generic programming. The Fit library provides many abstractions over functions including a way to do sophisticated overloading in a simple and concise manner. We will discuss in this talk how we can leverage these abstractions with overloading to provide simple and flexible interfaces. We will also look at comparison of these solutions with the Concepts Lite proposal and Boost.ConceptCheck.

slides: here

C++17 and its Technical Specifications

The 2nd part of my series on proposals for C++17 deals with Technical Specifications:

C++17 and its Technical Specifications

by Jens Weller

From the article:

Part 2 of my series about the current proposals for C++17. This part is covering the Technical Specifications (TS), which are currently released. Some of them will make it into C++17. Those not making it into C++17...

Selecting by interface, an idea almost to good to be true

I had an idea last night...

Selecting by interface, an idea almost to good to be true

by Jens Weller

From the article:

Last night, I've been coding until 3 am. Working on an API which will connect my CMS to JSON libraries in a generic way. For this I did study different JSON Libraries in the past weeks. I almost wrote another one wink Yet, I had the idea to write a generic interface to interface with some of these libraries, so that my own code is not hard wired to a certain API...

Cheerp PreExecuter: compile-time evaluation of constructors--Sander Mathijs van Veen

An advancement in the world of C++ to javascript:

Cheerp PreExecuter: compile-time evaluation of constructors

by Sander Mathijs van Veen

From the article:

The size of a JavaScript web application, especially when compiled from a complex C++ source, has a key role on the quality of the user experience, being directly connected to the download and startup time. Size also has a big impact on the traffic and bandwidth needs of the hosting server, which translates one to one into costs. Therefore, minimizing the size of JavaScript applications compiled from C++ with Cheerp has always been one of our priorities...

Notes on C++ SFINAE -- Bartlomiej Filipek

Bartlomiej explains in his recent blog post in nice details the SFINAE construct.

Notes on C++ SFINAE

by Bartlomiej Filipek

From the article:

This time I’d like to tackle a bit more complex problem: SFINAE. I’m not using this paradigm on a daily basis, but I’ve stumbled across it several times and I thought it might be worth trying to understand this topic.

What is SFINAE? Where can you use it? Do you need this on a daily basis? Let’s try to answer those questions.

In the article he goes into details of Overload Resolution, Where can I use it?, enable_if, Expression SFINAE, Any disadvantages?, and Alternatives to SFINAE.

Revisiting QWidgets & data, refactoring and performance

A follow up on an older Blog post of mine:

Revisiting QWidgets & data, refactoring and performance

by Jens Weller

From the article:

My CMS project has grown quite a bit, and there are a few places where I think I should refactor the code. One of the larger ones is that TreeItem::get<T> returns a pointer instead of a reference. Another one is related to how the Qt UI application is acting when opening a new panel in the TabControl. There used to be a noticeable delay...