The Boost library is now available for C++Builder and RAD Studio 10.3.1.
Boost is a very important third party C++ library, and one many of our customers request support for. It’s taken us longer than we had hoped, but I’m very glad to announce it’s available in the GetIt package manager today. You can find it by opening GetIt (Tools menu, GetIt Package Manager) and either clicking the Libraries category or searching for “Boost” in the search box.
Boost is available in three flavours:
- For Win32 Clang-enhanced compiler, Boost 1.68. This is a much more recent version of Boost than we’ve distributed in the past. The new compiler introduced in 10.3, which supports C++17, also comes with an upgraded standard library / STL. I’ve mentioned in other blog posts the greatly improved compatibility we have with this compiler, and one example is through Boost, where we now support many more of the Boost libraries. Some of the completely new ones since 1.55 include:
- Boost.Sort introduced in 1.58, which has a number of sorting algorithms, and notably this includes “spreadsort, a general-case hybrid radix sort that is faster than O(n*log(n))” – great for performance
- Boost.Convert, introduced in 1.59, which is an “extensible and configurable type-conversion framework”
- Boost.Hana, introduced in 1.61, a famous metaprogramming library for computations on both types and libraries. It is a superset of Boost.MPL and Boost.Fusion (both of which are also supported)
- Boost.Metaparse, introduced in 1.61, a library for building compile-time parsers from a DSL; if you have your own language and need to parse it, this is compile-time not runtime like Spirit, which is very useful
- Boost.QVM, introduced in 1.62, a great quaternion, vector and matrix (thus ‘QVM’) library useful for 3D developers, simulations, and similar
- Boost.Mp11, introduced in 1.66, another metaprogramming library, this one “for compile-time manipulation of data structures that contain types.”
- Boost.Hof, introduced in 1.67, a library for higher-order functions
These are just some some of the really useful libraries now available to you with C++Builder. Also supported are libraries like Boost.asio, a famous library for asynchronous network and other I/O; Boost.InterProcess for interprocess communication; Boost.lockfree for non-locking data structures; and more.
- For the Win64 Clang-enhanced compiler, Boost 1.55. This is the same version we’ve released for several years.
- For the Win32 classic compiler, Boost 1.39. As always, we recommend you upgrade to Clang. However, we still ship the classic compiler and Boost for it.
Boost and C++Builder in the Future
It’s taken us some time to release Boost for C++Builder 10.3.x, which we regret. We are very glad to have released it now, and would like to discuss our plans for the future.
Most importantly: It is our aim to support Boost day-of or close to the release date for any version. Unlike 10.3, this will happen for 10.3.2: you can expect Boost when 10.3.2 is released, and the same for 10.4 and other future versions.
You’ll notice we now support a much newer version of Boost (1.68 today) with our newer C++17 compiler for Win32. This is a great benefit to you because of the newer libraries you can use. We plan to release an upgraded Win64 compiler soon, and when we do, that too will support a newer version. At the moment, we’re unsure if this will be 1.68 or even newer, such as 1.70. (1.70 was released just thirty days ago, and we did not want to delay releasing any further in order to merge changes forward. However, it or 1.71 are a candidate version for the future.)
We’ll also be staying up to date with Boost in future. We will be merging support forward as Boost releases new versions. Ideally, we will also be aiming to merge compatibility changes back into Boost itself. This isn’t a matter of simply providing a patch to the Boost project: it’s actually up to the maintainers of each individual library, all 127 of them, so this may take some time. During that, we’ll be merging changes forward regularly ourselves.
We hope you find Boost and its presence through GetIt a great benefit to you. Thankyou for sticking with us while it took us time to release it, and we look forward to timely and swift releases of up to date Boost versions in the future.