C++17 was officially released last year and the work on C++20 quickly took off.
A subset of the Concepts TS was merged and the first part of the Ranges TS has been accepted, too.
Currently the next part of the Ranges TS is under review:
“Range Adaptors and Utilities”.
It brings the much-hyped “Views” to C++, but maybe you have been using them already via the
In any case you might have wondered what you need to do to actually write your own view.
This is the first in a series of blog posts describing complete view implementations (not just adaptations of existing ones).
Read More »
Modern CPUs have quite a few features that generic amd64/intel64 code cannot make use of, simply because they are not
available everywhere and including them would break the code on unsupporting platforms. The solution is to not use
these features, or ship different specialised binaries for different target CPUs. The problem with the first approach
is that you miss out on possible optimisations and the problem with the second approach is that most users don’t know
which features their CPUs support, possibly picking a wrong executable (which won’t run → bad user experience) or a less
optimised one (which is again problem 1). But there is an elegant GCC-specific alternative: Function multiversioning!
Read More »