Selective argument application -- Krzysztof Ostrowski

Presentation of a technique that enables transparent interception of the selected arguments passed to any function by means of a user-provided predicate metafunction.

Selective argument application

by Krzysztof Ostrowski

From the article:

Presentation of a design of an interceptor abstraction built over C++17 utilities that records values of the selected arguments passed to any action transparently, then applies that action to the captured arguments, and eventually passes the result value to the next action.

RIP index_sequence, 2014–2017 -- Matt Aubury

Matt Aubury philosophizes about digging a grave for certain std::index_sequence idioms. 

RIP index_sequence, 2014–2017

by Matt Aubury

From the article:

std::tuple was one of the great additions to C++11. Whilst sometimes abused by lazy programmers (who should really be using a struct or class), it’s true value is as a container of arbitrary values in variadic templates.

Sadly, static typing makes working with tuples much harder in C++ than in most languages [...]

What are the C and C++ Standard Libraries?

A brief tour into the realm of writing C and C++ applications, the role of the Standard Library and how it is implemented in various operating systems.

What are the C and C++ Standard Libraries?

By Triangles @ Internal Pointers

From the article:

I have been playing around with C++ for a while and one thing that always got me confused in the beginning was its anatomy: where do the core functions and classes I'm using come from? Who invented them? Are they packaged somewhere in my system? Is there a kind of official C++ manual around?

CppCast Episode 140: Conference News and CppChat

Episode 140 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Jon Kalb to discuss upcoming C++ conferences, CppChat and east const.

CppCast Episode 140: Conference News and CppChat

by Rob Irving and Jason Turner

About the interviewee:

Jon Kalb does onsite training in C++ and chairs C++Now, CppCon, and the Boost Steering Committee.

Next month he will be speaking at the ACCU conference in Bristol, and keynoting the C++ Russia conference in Saint Petersburg.

Static Code Analyzer PVS-Studio 6.22 Now Supports ARM Compilers (Keil, IAR)

Now our articles have every chance to become even more interesting because PVS-Studio can now check the code of embedded devices. We have added support for a few ARM compilers, which I talk about in detail below.

Static Code Analyzer PVS-Studio 6.22 Now Supports ARM Compilers (Keil, IAR)

by Andrey Karpov

From the article:

I find the RT-Thread operating system a perfect candidate to be the first embedded system checked with PVS-Studio. I glanced through the analysis report by PVS-Studio and picked 95 warnings that I thought to be the most interesting ones. Too see all those messages for yourself, download the rt-thread-html-log.zip archive with the full HTML report. We introduced this format not so long ago, and some users may not know about it. So, I'd like to use this opportunity to explain it once again.

JetBrains runs an embedded dev survey

JetBrains considers embedded dev market a priority for C++ tools (especially CLion) and a very interesting direction for Kotlin/Native. However, before diving into it we are running a full-blown market research study.

Embedded developers survey

by JetBrains

About the survey

This survey is a part of these research activities. Tell us how you do embedded development, what tools you use, what your needs and pains points are, and how we can help.

Share your experience with us and get a chance to win a $50 Amazon certificate!

What Should Go Into the Standard Library -- Titus Winters

Titus responds to Guy Davidson's article, what should go into the STL.

What Should Go Into the C++ Standard Library

By Titus Winters

From the article:

So, what should go in the standard library? Fundamentals. Things that can only be done with compiler support, or compile-time things that are so subtle that only the standard should be trusted to get it right. Vocabulary. Time, vector, string. Concurrency. Mutex, future, executors. The wide array of “sometimes useful data structure” and “random metaprogramming” could and should be shuffled off into a semi-standard repository of available but distinct utility libraries. Those may themselves have different design and stability philosophies, like Boost or Abseil - the principles that make the standard what it is are not necessarily universal even if they are good for the standard. Graphics is too much - many won’t want it, and those that think they do may not understand what they are asking for.

optional in a possible C++20 future--Barry Revzin

Lots of proposals:

optional<T> in a possible C++20 future

by Barry Revzin

From the article:

C++17 gave us std::optional which is, in the words of a friend of mine, one of those really simple, ultra complex types — in the sense that it’s very easy to understand and use properly, even for relatively inexperienced programmers… but extremely difficult to implement correctly, even for experts (another such is std::pair). Today, it’s well over a thousand lines of code, most of which is critical to support even its most basic functionality. optional<T> is the simplest sum type, and it appears in lots of different languages (and even has special syntax in Swift) under various related names — Maybe, Option, etc. — but in the languages I’m even nominally familiar with, it’s about as simple to implement as it is to use.

But that’s the state of affairs today. What does tomorrow bring?