Product News

build2 0.4.0 released

build2 is an open source, cross-platform toolchain for building and packaging C++ code. It includes a build system, package manager, and repository web interface. There is also cppget.org, a public repository of open source C++ packages.

build2 0.4.0 Release Notes

From the announcement:

This release includes a number of major new features in the build system (support for Windows/MSVC, C compilation, pkg-config integration, library versioning and export model, as well as the uninstall operation) and packag manager (support for repository authentication and system packages).

This version has been tested on Windows, Linux, Mac OS, and FreeBSD with GCC, Clang (both vanilla and Apple's), MinGW GCC, MSVC, and Intel icc.

Metashell 3.0.0 is available

Metashell provides a compile-time debugger for debugging template instantiations and macro usage.

Metashell 3.0.0 is available

From the website:

Some of the major new features in 3.0.0:

  • Profiling template instantiations
  • Debugging template instantiations in expressions involving SFINAE
  • Displaying preprocessed expressions

Commands for exploring the available headers (similar to the which and ls commands).
The full list of changes can be found here.

An online demo can be found at http://metashell.org/about/demo/

Installers can be downloaded from http://metashell.org/getting_metashell/installers#version-300

 

Chobo Single-Header Libraries Released

Chobo SHL is a collection of five small single-header libraries with no external dependencies by Chobolabs.

Chobo SHL Released

by Chobolabs

From the release:

The list of libraries is:

  • optional - A value wrapper with an optional invalid state (similar to boost::optional)
  • static_vector - A std::vector-like class with fixed capacity (similar to boost::static_vector)
  • flat_map - A std::map-like class with linear storage and optional storage container (similar to boost::flat_map)
  • vector_ptr - A non-owning std::vector pointer to be used in generic code
  • vector_view - A view of a std::vector<T> which makes it look as a vector of another type

doctest—the lightest feature rich C++ single header testing framework released! -- Viktor Kirilov

The lightest feature--rich C++ single--header testing framework for unit tests and TDD

doctest 1.1.0 released!

by Viktor Kirilov

From the release:

The reddit thread might be of interest as well.

The project is looking for sponsors and publicity!

Vcpkg: a tool to acquire and build C++ open source libraries on Windows--Eric Mittelette

The Visual Studio Team has announced the availability of Vcpkg, a tool which simplifies acquiring and building open source libraries on Windows.

Vcpkg: a tool to acquire and build C++ open source libraries on Windows

From the article:

Acquiring native libraries on Windows is a critical part of the application development process; in our surveys, you told us that 80% of your C++ projects depend on two or more libraries...

Visual C++ for Linux 1.0.5 Updates -- Marc Goodner

The Visual C++ for Linux announcement post has been updated.

Visual C++ for Linux 1.0.5 Updates

by Marc Goodner

From the article:

We recently posted new bits for our 1.0.5 release of the Visual C++ for Linux extension for Visual Studio 2015. This release has some major performance improvements that feature incremental copy and build, and considerably reducing the number of connections to the remote Linux machine. We’ve also made significant improvements in IntelliSense since our last post here.

Bugs found in GCC with the help of PVS-Studio

I regularly check various open-source projects to demonstrate the abilities of the PVS-Studio static code analyzer (C, C++, C#). Now it is time for the GCC compiler to get checked.

Bugs found in GCC with the help of PVS-Studio

by Andrey Karpov

From the article:

This part could also be called "Example number one thousand, why macros are bad". I really don't like macros and always urge people to avoid using them if possible. Macros make it difficult to read the code, provoke errors, and make the work of static analyzers harder. As best I can tell, from a brief interaction with the GCC code, the authors are big fans of macros. I was really tired looking at what the macros are expanded to, and perhaps missed quite a number of interesting errors. I should confess that I was lazy at times. But still, I will demonstrate a couple of errors, connected with macros.

Range-v3 on MSVC -- Eric Mittelette

The Visual C++ Team is delighted to announce that they just published a range-v3 implementation.

Range-v3 on MSVC is Available on GitHub

by Eric Mittelette

From the article:

This contribution comes hot on the heels of our recent work to improve expression SFINAE on our Visual Studio 2015 Update 3 VC++ compiler . This is the first implementation of the Range TS running in MSVC. In “Ranges for the Standard Library, Revision 1” (N4128) Ranges are defined like this: “A range is an object that refers to a sequence of elements, conceptually similar to a pair of iterators. One prime motivation for ranges is to give users a simpler syntax for calling algorithms.