boost 1.60 - a short overview

published at 18.12.2015 16:40 by Jens Weller

Yesterday boost 1.60 was released, and it brings a few important details and changes to the boost users. Plus one new library: the Variadic Data Macro library by Edward Diener.

VMD

VMD is like Boost.Preprocessor, a library for working with the preprocessor and makes implementing complex macros easier. VMD is specialized on using variadic macros, its goal is to make working with variadic macros easier and improve support over what boost can already do via its PP library. The library allows you to define easily your own macros which operate on the arguments given through a variadic macro. You can treat these variadic macro parameters as a sequence, array, list or tuple. Further its "type support" extends to numbers, identifiers and other useful types, such as an empty or unknown type.

Changes in boost

While VMD is a very specific library, this version brings a number of interesting updates and fixes to the boost libraries. A short list of my favorites:

boost::atomic now forces proper alignment

container has now polymorphic memory resources + basic_string supports C++11 back/front.

filesystem 4 new functions added: lexically_normal, lexically_relative, relative, weakly_canonincal some updates from the filesystem TS have been implemented c++11 move semantics support adding functions renamed in the TS, while keeping support for the previous name. path has now size() method

Fusion containers + fusion::nview now support C++11 variadic templates, fusion::fold is SFINAE friendly now

Locale implemented a generic codecvt facet and added a general utf8_codecvt facet.

PreDef can now detect SIMD Hardware

boost.test 3.1

boost.thread

boost::future && boost::future::then have received some important bug fixes



So 1.60 is an interesting release, still, a lot of libraries accepted into boost have yet not been released, next year is going to be interesting with lots of new libraries and features coming to boost.

Join the Meeting C++ patreon community!

This and other posts on Meeting C++ are enabled by my supporters on patreon!