News

Concepts without Concepts--Andrzej Krzemieński

Concetps are good, but how can we get them?

Concepts without Concepts

by Andrzej Krzemieński

From the article:

“Concept” can mean two things in the context of C++ generic libraries:

  1. Something informal: something we know about template parameters, and can tell to other human programmers, e.g. in documentation.
  2. A language feature.

This post is about concepts in the first sense. It claims that we had concepts for quite a while already, and shows how we can use them to make generic libraries easier to use...

Guidelines Support Library Review: string_span--Marius Bancila

What is a string_span?

Guidelines Support Library Review: string_span<T>

by Marius Bancila

From the article:

In a previous post I have introduced the span<T> type from the Guidelines Support Library. This is a non-owning range of contiguous memory recommended to be used instead of pointers (and size counter) or standard containers (such as vector or array). span<T> can be used with strings, but the Guidelines Support Library provides a different span implementation for various types of strings. These string span types are available in the string_span.h header.

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

CLion 2016.1 released: Better language support and new dev tools -- Anastasia Kazakova

Fresh from JetBrains:

CLion 2016.1 released: Better language support and new dev tools

by Anastasia Kazakova

Some C++-specific highlights from the announcement:

This release brings long-awaited support for variadic templates (C++11). With the related fixes in the function overload resolution, this makes it possible to resolve the code correctly and avoid many false positives in code analysis. This also means that Qt C++11 connect calls are resolved correctly in CLion:

Auto-import has been improved greatly for symbols from STL, and the quick documentation popup (Ctrl+Q on Linux/Windows, F1 on OS X) now shows lambda expressions, namespace aliases and explicit instantiation, as well as accurately redirecting hyperlinks:

CppCast Episode 49: Parallel Computing Strategies with Dori Exterman

Episode 49 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Dori Exterman to discuss parallel computing strategies and Incredibuild.

CppCast Episode 49: Parallel Computing Strategies with Dori Exterman

by Rob Irving and Jason Turner

About the interviewee:

An expert software developer and product strategist, Dori Exterman has 20 years of experience in the software development industry. As Chief Technical Officer of IncrediBuild, he directs the company's product strategy and is responsible for product vision, implementation, and technical partnerships. Before joining IncrediBuild, Dori held a variety of technical and product development roles at software companies, with a focus on architecture, performance and advanced technologies. He is an expert and frequent speaker on technological advancement in development tools specializing in Embarcadero (formerly Borland) environments, and manages the Israeli development forum for these tools.