Product News

C++ Annotated: January - May 2018—Anastasia Kazakova

A new edition of C++ annotated, a collection of C++ news by JetBrains C++ team.

C++ Annotated: January – May 2018

by Anastasia Kazakova

From the article:

What's coming in C++20, ACCU, C++ Russia and C++Now trip reports and talk recordings, Simon Brand's C++ tips collection, a bug in GCC, const position (east and west battle), deprecated std::iterator, new releases.

[[trivial_abi]] 101—Arthur O’Dwyer


[[trivial_abi]] 101

by Arthur O’Dwyer

From the article:

Finally, a blog post on [[trivial_abi]]!

This is a brand-new feature in Clang trunk, new as of about February 2018. It is a vendor extension to the C++ language — it is not standard C++, it isn’t supported by GCC trunk, and there is no active WG21 proposal to add it to the standard C++ language, as far as I know...

span lite: single-file header-only version of a C++20-like span for C++98, C++11…—Martin Moene

The view for any range.

span lite: single-file header-only version of a C++20-like span for C++98, C++11 and later

by Martin Moene

From the article:

span lite is a single-file header-only library to provide a bounds-safe view for sequences of objects. The library provides a C++20-like span for use with C++98 and later. If available, std::span is used, unless configured otherwise...

Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg—Eric Mittelette

Are you interested?

Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg

by Eric Mittelette

From the article:

At Microsoft, the core of our vision is “Any Developer, Any App, Any Platform” and we are committed to bringing you the most productive development tools and services to build your apps across all platforms. With this in mind, we are thrilled to announce today the availability of vcpkg on Linux and MacOS. This gives you immediate access to the vcpkg catalog of C++ libraries on two new platforms, with the same simple steps you are familiar with on Windows and UWP today...

Boost 1.67 released

Boost 1.67 is now available:

Boost Version 1.67.0

There are two new libraries:

  • Contract: Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc, from Lorenzo Caminiti.
  • HOF: Higher-order functions for C++, from Paul Fultz II.

Also, many updated libraries have been updated. See the announcement for details.


C++ Modernization Brochure—Don Tait


C++ Modernization Brochure

by Don Tait

From the article:

New releases of the C++ language maintain incredibly strong backwards compatibility, making it easy to keep older C++ code working properly as standards march forward. C++11, C++14, and C++17 have transformed the C++ language in ways that make it as programmer-friendly as more recent languages but with many essential benefits that continue to make it the best choice for the most demanding software-engineering projects.

Modernizing your C++ may be the best way to both improve your team’s efficiency as well as future-proof your software investment. KDAB has broad, deep experience delivering cost-effective, long-term, pragmatic solutions that modernize existing C++ codebases without losing functionality during the process.

Download our brochure to find out more...