bh Build Status License CRAN Downloads

Boost Headers for R

About

This package provides R with access to Boost header files. Boost provides free peer-reviewed portable C++ source libraries. A large part of Boost is provided as C++ template code which is resolved entirely at compile-time without linking.

This package aims to provide the most useful subset of Boost libraries for template use among CRAN packages. By placing these libraries in this package, we offer a more efficient distribution system for CRAN as replication of this code in the sources of other packages is avoided.

It can be used via the LinkingTo: field in the DESCRIPTION field of an R package --- and the R package infrastructure tools will then know how to set include flags correctly on all architectures supported by R.

Not that this can be used solely by headers-only Boost libraries. This covers most of Boost, but excludes some libraries which require linking for parts or all of their functionality.

Coverage

As of release 1.60, the following Boost libraries are included:

algorithm any bind circular_buffer concept config container date_time detail dynamic_bitset exception filesystem foreach functional fusion geometry graph heap integer interprocess intrusive io iostreams iterator math move mpl multiprcecision numeric pending phoenix preprocessor random range smart_ptr spirit tuple type_trains typeof unordered utility uuid

A recent PR added

bimap

See Also

See the BH page for some more details.

The mailing list at R-Forge is a good place for questions, comments and general discussion. The issue tracker can be used for bugs.

Updating

We aim to maintain this package in a somewhat conservative fashion and do not always immediately jump the newest Boost releases. Rather, we (used to) start from the Debian sources for Boost to ensure that we work with a version that is at the same time current yet mature. But on occassion, and as needed, and more recently, we will also go directly to Boost releases.

In general, we plan to keep the package up-to-date with Boost upstream, but will not necessarily follow each and every new release as we also value the merits of relative release stability.

If needed, the script local/script/CreateBoost.sh can be used to update a forked version to a newer version of Boost.

But what about the size?

We know. We erroneously thought that committing the Boost tarballs would be a good idea. It wasn't. First attempts at pruning the history using bfg were not that successful. If someone has a script doing this well we would take another look.

Otherwise we recommend to just start from CreateBoost.sh.

Authors

Dirk Eddelbuettel, Jay Emerson and Michael Kane

License

This package is provided under the same license as Boost itself, the BSL-1.0