March 2015

Eggs.Variant - Part II (the constexpr experience)—K-ballo

A link to make type-safe unions:

Eggs.Variant - Part II (the constexpr experience)

by K-ballo

From the article:

Ruminations on the development of Eggs.Variant, a C++11/14 generic, type-safe, discriminated union. Part I explored a straightforward implementation based on untyped raw storage appropriate to hold any of the variant members. It was noted, however, that such an implementation would never be constexpr-aware. It's time to throw it away and start from scratch in order to properly support constexpr...

Bug of the week—Andrzej KrzemieĊ„ski

Here is an interesting bug:

Bug of the week

by Andrzej Krzemieński

From the article:

Today we are going to see a case study illustrating a bug. Not a very spectacular one: a typical bug one would encounter in everyday work. We will start with the symptoms, identify the root cause, and suggest measures to prevent similar things from happening in the future...

CppCon 2014 An Overview of C++11/14, Part II—Leor Zolman

While we wait for CppCon 2015 in September, we’re featuring videos of some of the 100+ talks from CppCon 2014. Here is today’s feature:

An Overview of C++11/14, Part II

by Leor Zolman

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This accelerated introduction to C++11/14 surveys most of the key additions to the C++ language, including support for increased code clarity (lambdas, uniform initialization, auto, new OOD control) and improved performance (rvalue references, move semantics and perfect forwarding.)

The presentation is designed for those who truly need a quick overview of the new C++, so the focus is on breadth rather than depth. Whenever feasible, new language features are presented in a style showcasing how they improve over their "Old C++" counterparts.

Simple and Clean Code vs. Performance—Arne Mertz

This article talks about why simple code is more important.

Simple and Clean Code vs. Performance

by Arne Mertz

From the article:

One of C++s strengths is that it is possible to write very performant code. But does that mean we always have to worry about performance and write our everyday code as performant as possible? Should we give up simplicity for performance? Do we have to?
 

CppCon 2014 An Overview of C++11/14, Part I—Leor Zolman

While we wait for CppCon 2015 in September, we’re featuring videos of some of the 100+ talks from CppCon 2014. Here is today’s feature:

An Overview of C++11/14, Part I

by Leor Zolman

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This accelerated introduction to C++11/14 surveys most of the key additions to the C++ language, including support for increased code clarity (lambdas, uniform initialization, auto, new OOD control) and improved performance (rvalue references, move semantics and perfect forwarding.)

The presentation is designed for those who truly need a quick overview of the new C++, so the focus is on breadth rather than depth. Whenever feasible, new language features are presented in a style showcasing how they improve over their "Old C++" counterparts.

CppCast Episode 5: Exploring CLion with Anastasia Kazakova—Rob Irving

Episode 5 of CppCast, the only podcast by C++ developers for C++ developers. In this episode Anastasia Kazakova from JetBrains joins Rob Irving to discuss the new CLion IDE.

CppCast Episode 5: Exploring CLion with Anastasia Kazakova

by Rob Irving

About the interviewee:

Being a C/C++ fan since University Anastasia has been creating real-time *nix-based systems and pushing them to production for 8 years. She has a passion for networking algorithms (especially congestion problems and network management protocols) and embedded programming, and believes in good tooling. Now she is a part of the JetBrains team working as a Product Marketing Manager for CLion the upcoming cross-platform C/C++ IDE.

C++Now 2015 Program Now Online—Jon Kalb

The 2015 C++Now program is made up of fifty technical sessions.

C++Now 2015 Program Now Online

by Jon Kalb

The keynotes are

  • Andrew Sutton on “Generic Programming with Concepts”
  • Eric Niebler on “Ranges for the Standard Library”
  • Tiago Quinto on “Numerical Weather Prediction”

CppCon 2014 Generic Programming with Concepts Lite, Part II—Andrew Sutton

While we wait for CppCon 2015 in September, we’re featuring videos of some of the 100+ talks from CppCon 2014. Here is today’s feature:

Generic Programming with Concepts Lite, Part II

by Andrew Sutton

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

In this talk, I will give an overview of the Concepts Lite language extension for C++ and present examples of its use in design and implementation of real-world generic libraries. Concepts Lite provides the ability for programmers to directly state constraints on template arguments as part of the template declaration. These constraints are predicates which determine whether or not a template argument can be used with that template. Constraints are checked by the compiler at the point of use, meaning that that effectively constrained generic libraries will not suffer from the usual problems of insane diagnostics. Libraries written using concepts will be far more readable and maintainable than the status quo. This talk will focus on generic programming, proposed language features, and their use in building real-world libraries.

Concepts Lite is a forthcoming ISO Technical Specification (TS) aimed at publication alongside C++14. Concepts Lite is implemented in a branch of GCC, which will be made available to the audience for experiments and experience.

HPX version 0.9.10 released—STE||AR Group

The STE||AR Group has released V0.9.10 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.10 Released

The newest version of HPX (V0.9.10) is now available for download! Please see here for the release notes.

HPX now exposes an API fully conforming to the concurrency related parts of the C++11 and C++14 standards, extended and applied to distributed computing.

From the announcement:

  • The major focus of this release was to improve the reliability of large scale runs. We have shown to reliably run HPX applications on up to ~24k cores (~1k nodes).
  • A very important improvement introduced with this release is the refactoring of the networking infrastructure which improves the overall performance.
  • We continued our work towards a complete implementation of N4354 (Working Draft, Technical Specification for C++ Extensions for Parallelism).
  • Move to C++11 variadics: all of the API now uses variadic templates.

CppCon 2014 Generic Programming with Concepts Lite, Part I—Andrew Sutton

While we wait for CppCon 2015 in September, we’re featuring videos of some of the 100+ talks from CppCon 2014. Here is today’s feature:

Generic Programming with Concepts Lite, Part I

by Andrew Sutton

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

In this talk, I will give an overview of the Concepts Lite language extension for C++ and present examples of its use in design and implementation of real-world generic libraries. Concepts Lite provides the ability for programmers to directly state constraints on template arguments as part of the template declaration. These constraints are predicates which determine whether or not a template argument can be used with that template. Constraints are checked by the compiler at the point of use, meaning that that effectively constrained generic libraries will not suffer from the usual problems of insane diagnostics. Libraries written using concepts will be far more readable and maintainable than the status quo. This talk will focus on generic programming, proposed language features, and their use in building real-world libraries.

Concepts Lite is a forthcoming ISO Technical Specification (TS) aimed at publication alongside C++14. Concepts Lite is implemented in a branch of GCC, which will be made available to the audience for experiments and experience.