SG14 (the GameDev & low latency ISO C++ working group) - Guy Davidson - Meeting C++ 2016
A short talk on what SG14 is doing
SG14 (the GameDev & low latency ISO C++ working group)
Guy Davidson
March 23-28, London, UK
By Meeting C++ | Jan 13, 2017 07:08 AM | Tags: sg14 intermediate gamedev basics
A short talk on what SG14 is doing
SG14 (the GameDev & low latency ISO C++ working group)
Guy Davidson
By fj | Jan 13, 2017 04:33 AM | Tags: c++14
Classic interfaces that use bitmask to select many properties at once can be hard to use and very easy to break.
Alternative to select-many bitmask
by Krzysztof Ostrowski
From the article:
Suppose we have an interface that returns some value depending on combination of other values, and we would like get resource of some type
Rthat is common for Alice and Bob. Here is our interface:R query(std::uint32_t bitmask);First question arises quickly: what to put into
bitmask? There are plenty of values of typeuint32_t!Multiple possible ways to fix our interface and make it much easier to use exist. We will consider three of them.
By TartanLlama | Jan 13, 2017 04:32 AM | Tags: c++17
Showing how to use C++17 template argument deduction for constructors to get rid of those pesky make functions.
Template argument deduction for class template constructors
by Simon Brand
From the article:
Have you ever found yourself writing std::make_pair or std::make_move_iterator and wondering why we need a helper function to create these objects for us? The answer is a lack of template argument deduction for class template constructors.
[...]
Fortunately, this feature is coming in C++17!
By rodburns | Jan 13, 2017 04:28 AM | Tags: None
What does it take to build a C++ memory manager for safety critical applications such as autonomous vehicles?
Codeplay's Safety-Critical Memory Manager
by Illya Rudkin
From the article
In my experience, when implementing an application, the memory management part of its design is very often overlooked. That is also the case when considering the design for a Safety-Critical (SC) system. This blog post talks about why a memory manager should be considered in the design, especially for an SC system, and why the designers of such systems should consider implementing it first, before doing anything else.
Codeplay has created a Safety-Critical Memory Manager (SCMM) as part of its strategy to build an SC tool set, including implementations of open standards (such as OpenCL) for building artificial intelligence in automotive systems. We believe that an SCMM is a fundamental foundation stone to help us achieve and verify the safety goals for our systems in different problem domains.
By Meeting C++ | Jan 12, 2017 09:47 AM | Tags: tmp meta-programming intermediate c++14 c++11 advanced
New Video from Meeting C++ 2016:
How bad is meta-programming still today?
Peter Gottschling
By Jason Turner | Jan 12, 2017 09:40 AM | Tags: intermediate c++14
Episode 45 of C++ Weekly.
Compile Time Maze Generator (and Solver)
by Jason Turner
About the show:
In this episode Jason demonstrates how to build a random maze generator (and solver) that can be executed at compile time with constexpr.
By Marco Arena | Jan 12, 2017 08:07 AM | Tags: visual studio
The Visual C++ Team is asking for your feedback on vcpkg:
vcpkg 3 Months Anniversary, Survey
by Eric Mittelette
Link to the survey:
Visual C++ Survey - Vcpkg
From the article:
vcpkg, a tool to acquire and build C++ open source libraries on Windows, was published 3 months ago. We started with 20 libraries and now the C++ community has added 121 new C++ libraries...
By Andrey Karpov | Jan 12, 2017 05:41 AM | Tags: static code analysis pvs-studio c++
PVS-Studio is a static code analyzer, that searches for errors and vulnerabilities in programs written in C, C++ and C#. In this article, I am going to uncover the technologies that we use in PVS-Studio analyzer. In addition to the general theoretical information, I will show practical examples of how certain technology allows the detection of bugs.
How PVS-Studio does the bug search: methods and technologies
by Andrey Karpov
From the article:
The definition of the pattern looks quite simple, but in practice the implementation of the diagnostic is quite complicated. It's not enough just to analyze only "#define RShift(a) a >> 3". If warnings are issued for all strings of this kind, there will be too many of them. We should have a look at the way the macro expands in every particular case, and try to define the situations where it was done intentionally, and when the brackets are really missing.
By Adrien Hamelin | Jan 11, 2017 12:59 PM | Tags: intermediate experimental
Sorting can be done many ways.
A “sorted view”
by Nick Athanasiou
From the article:
This installment elaborates on the creation of a “sorted_view” utility. The “References” section contains links to the complete code; throughout the article, we provide demos and snippets to showcase and explain the implementations. The section on modernizing the code contains real world applications of the following C++17 features:
- structured bindings
- template argument deduction for class templates
By Adrien Hamelin | Jan 11, 2017 12:56 PM | Tags: performance intermediate
It seems a simple problem, yet…
Applying a permutation to a vector, part 6
by Raymond Chen
From the article:
I left an exercise to write a function apply_reverse_permutation in which each element in the indices represents where the element should move to rather than where it comes from...