A new version, now at 0.2.0, of RcppCCTZ is now on CRAN. And it brings a significant change: windows builds! Thanks to Dan Dillon who dug deep enough into the libc++ sources from LLVM to port the
std::get_time() function that is missing from the 4.* series of g++. And with Rtools being fixed at
g++-4.9.3 this was missing for us here. Now we can parse dates for use by RcppCCTZ on Windows as well. That is important not only for RcppCCTZ but also particularly for the one package (so far) depending on it: nanotime.
CCTZ is a C++ library for translating between absolute and civil times using the rules of a time zone. In fact, it is two libraries. One for dealing with civil time: human-readable dates and times, and one for converting between between absolute and civil times via time zones. It requires only a proper C++11 compiler and the standard IANA time zone data base which standard Unix, Linux, OS X, … computers tend to have in
/usr/share/zoneinfo — and for which R on Windows ships its own copy we can use. RcppCCTZ connects this library to R by relying on Rcpp.
The RcppCCTZ page has a few usage examples, as does the post announcing the previous release.
The changes in this version are summarized here:
Changes in version 0.2.0 (2017-01-08)
Windows compilation was enabled by defining
ABBR()for MinGW (#10 partially addressing #9)
Windows use completed with backport of
std::get_timefrom LLVM’s libc++ to enable
strptimesemantics (Dan Dillon in #11 completing #9)
Timezone information on Windows is supplied via R’s own copy of zoneinfo with
TZDIRset (also #10)
The interface to
formatDoublewas cleaned up
We also have a diff to the previous version thanks to CRANberries. More details are at the RcppCCTZ page; code, issue tickets etc at the GitHub repository.