Overload 130 is now available

ACCU’s Overload journal of December 2015 is out. It contains the following C++ related articles.

Overload 130 / PDF

From the journal

Type Mosaicing with Consultables and Delegates

If several classes need to work together lots of boilerplate code is often needed. Nicolas Bouillot introduces type mosaicing to avoid this.

The Universality and Expressiveness of std::accumulate

Folding is a highly generic operation available through std::accumulate. Paul Keir goes beyond reduction, with the help of C++14’s polymorphic lambdas.
QM Bites – The two sides of Boolean Parameters
Boolean parameters are tempting but make life difficult. Matthew Wilson advises us to avoid them (almost) all the time.
Identify your Errors better with char[]
Error codes still get used instead of exceptions. Patrick Martin and Dietmar Kühl consider how to use char arrays for better information.
CPU Clocks and Clock Interrupts, and Their Effects on Schedulers
Instructions to sleep for a second almost never result in precisely one second’s sleep. Bob Schmidt walks us through the mechanics of why.
 

All Meeting C++ Lightning Talk videos are online

Meeting C++ just started a week ago, and I already managed to edit and upload all lightning talks:

Meeting C++ 2015 - all lightning talks are now online at youtube

by Jens Weller

From the article:

This year for the very first time we had lightning talks at the Meeting C++ conference. Two sessions with each 5 lightning talks were held...

CppCast Episode 37: Ranges with Eric Niebler

Episode 37 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Eric Niebler to discuss his work on Ranges and the future of the Standard Library.

CppCast Episode 37: Ranges with Eric Niebler

by Rob Irving and Jason Turner

About the interviewee:

Eric Niebler is an independent consultant specializing in C++ library development. Currently, he is working on modernizing the C++ standard library and adding support for ranges, funded by the first-ever grant from the Standard C++ Foundation. Previously, Eric was a consultant for BoostPro computing, a member of Microsoft's Visual C++ team, and a Microsoft Researcher before that. In addition, he has several libraries in Boost and is a Boost release manager and steering committee member. Eric has been an active member of the C++ Standardization Committee for well over 10 years. He speaks regularly at C++ conferences around the world.

In a previous life, Eric drifted with no fixed address, writing C++ and blog entries from cafes and beaches around the world. Today, Eric is a family man living and working in the glorious Pacific Northwest near Seattle.

Oracle Solaris Studio 12.5 Beta

O_SolarisStudio.gifOracle Solaris Studio 12.5 Beta Release

The Oracle Solaris Studio 12.5 Beta release is now available for download from OTN.  Oracle Solaris Studio delivers highly optimized compilers, advanced analysis tools and a multi-language aware IDE for easy development of fast, reliable and secure applications for Oracle Solaris and Linux operating systems.

Key Benefits:

  • Increased application security with Oracle SPARC M7 Silicon Secured Memory integration and built-in security checking capabilities.
  • Latest language standard support, including C++14, C++11 and C11, and easy compilation of open source applications with improved GCC compatibility.
  • Performance optimizations for the latest Oracle systems and updates throughout the tool suite for creating faster applications, faster

Modern Asynchronous Request/Reply with DDS-RPC -- Sumant Tambe

rtidds.PNGThis article is considers lots of approaches to solving a concurrency problem, but of particular interest are the sections showing the power of the Concurrency TS future.then extension and the coroutines proposal:

Modern Asynchronous Request/Reply with DDS-RPC

by Sumant Tambe

From the article:

A quick look into N4402 reveals that the await feature relies on composable futures, especially .then (serial composition) combinator. The compiler does all the magic of transforming the asynchronous code to a state machine that manages suspension and resumption automatically. It is a great example of how compiler and libraries can work together producing a beautiful symphony.

... Indeed, this is truly an exciting time to be a C++ programmer.

Trip Report: using std::cpp 2015 at Spain

On November 18th 2015, for the third year in a row, we had a C++ day in Spain. Our local event using::std cpp 2015 starts to consolidate as an annual event for the Spanish C++ community. Each Fall more than 100 developers join some academics and students to exchange experiences about using C++.

My full English language trip report can be found here:

Trip report: using std::cpp 2015

DISCLAIMER: Please, note that all talks where given in Spanish. We will be publishing the slides and videos in the next days. However, we feel that this activity is of interest for a wider audience...

Dive into C++14 - [3] - Generic "unique resource" wrapper

Vittorio Romeo expands the Dive into C++14 series with a new video covering the implementation of a generic "unique resource" wrapper.

Dive into C++14 - [3]

About the tutorial:

This new tutorial covers the implementation of a generic "unique resource" class, with the same ownership semantics as std::unique_ptr.

std::unique_ptr is not limited to pointer-like handles - by adapting other kinds of handles to the `NullablePointer` concept, it can still be used. Nevertheless, for educational purposes and to understand the commonalities between resource types and handle types, we're going to implement our own std::unique_ptr-like generic "unique wrapper".

The video shows the implementation of the resource class and the abstraction of the behavior of several example resource types (heap-allocated pointers, OpenGL VBOs, int-based-handle APIs).

All the code is available on GitHub. The code segments are thoroughly commented and can be read as a tutorial without watching the video, if preferred.