Product News

corsl - Coroutine support library—Alexander Bessonov

Interesting library

corsl - Coroutine support library

by Alexander Bessonov

From the article:

corsl stands for "Coroutine Support Library" and consists of a number of utility classes and functions that simplify asynchronous programming in Windows. It is inspired by an amazing cppwinrt library, developed by Microsoft.

cppwinrt was created as a language projection for Windows Runtime, which is supported by Windows 8 or later operating systems. It is impossible to use in prior Windows versions.

One of the goals of corsl library was being able to use it under Windows Vista or later operating system...

Frozen - An header-only, constexpr alternative to gperf for C++14 users—Serge Guelton

Check this out!

Frozen - An header-only, constexpr alternative to gperf for C++14 users

by Serge Guelton

From the article:

An open source, header-only library that provides fast, immutable, constexpr-compatible implementation of std::set, std::map, std::unordered_map and std::unordered_set to C++14 users. It can be used as an alternative to gperf...

Using C++ Coroutines with Boost C++ Libraries—Eric Battalio

Working with the future tools.

Using C++ Coroutines with Boost C++ Libraries

by Eric Battalio

From the article:

Last month, Jim Springfield wrote a great article on using C++ Coroutines with Libuv (a multi-platform C library for asynchronous I/O). This month we will look at how to use coroutines with components of Boost C++ libraries, namely boost::future and boost::asio...

doctest - C++ single-header testing framework version 1.2 released!—Viktor Kirilov

The fastest feature-rich C++98/C++11 single-header testing framework for unit tests and TDD

doctest 1.2 released! Focus on features and runtime performance

by Viktor Kirilov

From the release:

The reddit thread might be of interest as well.

Using C++ Modules in Visual Studio 2017—Andrew Pardoe

The Visual C++ Team is elated to announce that with Visual Studio 2017, it has substantially improved the quality of the C++ Modules TS implementation in Visual Studio:

Using C++ Modules in Visual Studio 2017

by Andrew Pardoe

From the article:

Standard Library Modules support is included in Visual Studio 2017 RTM or newer. This capability is currently optional and off by default...

Continuous integration with Travis CI—Richel Bilderbeek

A very useful tool:

Continuous integration with Travis CI

by Richel Bilderbeek

From the article:

In today’s guest post, Richel Bilderbeek gives us some insight about some the many possible advantages of setting up a continuous integration service, showing some minimal complete examples. Richel works as a PhD in Theoretical Biology at the University of Groningen industry, in his free time teaching people from ages 7-77 about C++, Processing, Arduino and R. Falling inexplicably in love with a C++ code snippet of Doom as a kid, he started using C++ only since 2001, and you can reach him through his website...

HPX version 1.0 released—STE||AR Group

The STE||AR Group has released V1.0 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.0 Released

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

HPX exposes an API fully conforming to the concurrency related parts of the C++11/C++14/C++17 standards, extended and applied to distributed and heterogeneous computing, and aligned with the ongoing standardization discussions.

From the announcement:

  • HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, task blocks, data-parallel algorithms, executors, index-based parallel for loops, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).
  • HPX seamlessly enables a new asynchronous C++ Standard Programming Model which tends to improve the parallel efficiency of our applications and helps reduce complexities usually associated with concurrency

 

Boost 1.64.0 is released

The new boost is out!

Boost 1.64.0 is released

From the article:

New Libraries


Process:
Process library by Klemens D. Morgenstern, that provides cross platorm ways to allows you to:

  • create child processes
  • setup streams for child processes
  • communicate with child processes through streams (synchronously or asynchronously)
  • wait for processes to exit (synchronously or asynchronously)
  • terminate processes

Broken feature:

GitHub #67: "group.wait() does not return".

Updated Libraries

Any:

  • Suppressed false warnings about returning reference to temporary
  • boost::addressof is now used instead of directly taking the address #12615
  • Headers are not included using double quotes any more #12053
  • CI tests now run with address, leak, and undefined sanitizers
  • Added more test

Atomic:

  • Fixed possible incorrect code generation in 64-bit atomic operations on 32-bit x86 with gcc versions older than 4.7 and compatible compilers.

Config:

  • Added BOOST_NO_CXX11_SFINAE_EXPR defect detection.

...

Disabling narrowing conversions in signal/slot connections—Giuseppe D’Angelo

A new useful feature in Qt:

Disabling narrowing conversions in signal/slot connections

by Giuseppe D'Angelo

From the article:

A small new feature that I have added to Qt 5.8 is the possibility of disabling narrowing conversions in the new-style QObject::connect statement. In this short blog post I would like to share with you why I thought this was useful and therefore implemented it...