Commit graph

5 commits

Author SHA1 Message Date
mef
6bfc835a96 (lang/R-cpp11) Updated 0.4.2 to 0.4.3
# cpp11 0.4.3

* Modernized the GitHub Actions workflows and updated some internal tests to
  better align with changes in those workflows and the latest version of R
  (#279)

* `cpp_source()` errors on non-existent file (#261).

* `cpp_register()` is quiet by default when R is non interactive (#289).

* updated test to adapt to changes in R 4.2.1 (#290).
2023-02-18 09:21:40 +00:00
mef
78910b7343 (lang/R-cpp11) Updated 0.3.1 to 0.4.2
# cpp11 0.4.2

* Romain François is now the maintainer.

# cpp11 0.4.1

* Fix crash related to unwind protect optimization (#244)

# cpp11 0.4.0

## New Features

* New  opt-in  message  formatting  with the  {fmt}  C++  library  for
  `cpp11::messages()` `cpp11::stop()` and `cpp11::warning()`.  Set the
  `CPP11_USE_FMT`    macro   to    use    this    feature   in    your
  package. (@sbearrows, #169, #208)

* New `as_double()` and `as_integer()` methods to coerce integers to
  doubles and doubles to integers to doubles (@sbearrows, #46)

* `cpp11::matrix` iterators can now be used either row-wise or
  column-wise (the default) depending on the user's choice (@alyst,
  #229)

## Improvements and fixes

* Read-only matrix accessors are now marked const (#234)

* `writable::r_vector` default constructors now return a 0 length
  vector when converted to `SEXP` (#166)

* Read-only `r_vector` constructors now disallow implicit construction
  with named arguments (#237)

* Read-only `r_vector.attr()` methods now return const objects, so it
  is a compile time error to try to assign to them (#237)

* Fixed `+` and `+=` operators of `r_vector::[const_]iterator` to
  conform the *iterators* concept: `+=` updates the iterator, and `+`
  returns the updated copy, while keeping the original unchanged
  (@alyst, #231)

* Remove undefined behavior when constructing global `cpp11::sexp`s (#224)

* Removed redundant `.Call calls` in cpp11.cpp file (@sbearrows, #170)

* Error messages now output original file name rather than the
  temporary file name (@sbearrows, #194)

* `cpp_register()` now includes `attribute_visible` in the init
  function, so packages compiled with `C_VISIBILITY` will find the
  init function.

* Fixed bug when running `cpp_source()` on the same file more than
  once (@sbearrows, #202)

* Allow cpp11 decorators of the form `cpp11::linking_to` (@sbearrows,
  #193)

* Removed internal instances of `cpp11::stop()` and replaced with C++
  exceptions (@sbearrows, #203)

* Names of named lists are now resized along with the list elements
  (@sbearrows, #206)
2022-04-30 14:33:39 +00:00
mef
e867ad575c (lang/R-cpp11) Updated 0.2.7 to 0.3.1
# cpp11 0.3.1

# cpp11 0.3.0

## New functions and features
* New `x.empty()` method to check if a vector is empty (@sbearrows, #182)
* New `x.named()` method to check if a vector is named (@sbearrows, #186)
* New `na()` free function to return the NA sentinels for R objects
  (@sbearrows, #17 9)

## Major fixes

* Memory no longer inadvertently leaks when move constructing vectors
  (#173)

## minor improvements and fixes

* Incorrectly formatted cpp11 decorators now output a more informative
  error message (@sbearrows, #127)
* Generated registration code now uses C collation to avoid spurious
  changes from `tools::package_native_routine_registration_skeleton()`
  (@sbearrows, #171)
* Makevars files which include filenames now handle spaces in paths
  properly (@klmr, #160)
2021-09-04 14:32:31 +00:00
mef
85e449cf31 (lang/R-cpp) Updated 0.2.4 to 0.2.7
# cpp11 0.2.7

* Fix a transient memory leak for functions that return values from
  `cpp11::unwind_protect()` and `cpp11::safe` (#154)

# cpp11 0.2.6

* `cpp_register()` now uses symbols exclusively in the `.Call()`
  interface. This allows it to be more robust in interactive use with
  the pkgload package.

# cpp11 0.2.5

* `cpp_source()` gains a `cxx_std` argument to control which C++
  standard is used.  This allows you to use code from `C++14` and
  later standards with cpp_source(). (#100)

* The cpp11 knitr engine now allows you to set the `cxx_std` chunk
  option to control the C++ standard used.

* `cpp_source()` now has much more informative error messages when
  compilation fails (#125, #139)

* `cpp_source()` now uses a unique name for the DLL, so works when run
  multiple times on the same source file on Windows (#143)

* `writable::list_of<T>` now supports modification of vectors as
  intended (#131).

* Errors when running
  `tools::package_native_routine_registration_skeleton()` are no
  longer swallowed (#134)

* `cpp_source()` can now accept a source file called `cpp11.cpp`
  (#133)

* `named_arg` now explicitly protect their values, avoiding protection
  issues when using large
  inputs. [tidyverse/readr#1145](https://github.com/tidyverse/readr/issues/1145)

* `r_string(std::string)` now uses `Rf_mkCharLenCE()` instead of
  `Rf_mkChar()`, which avoids the performance cost of checking the
  string length.

* Writable vector classes now properly set their lengths as intended
  when being copied to a read only class (#128).
2021-06-12 22:01:40 +00:00
mef
7ba662c1c8 (lang/R-cpp11) import R-cpp11-0.2.4
Provides a header only, C++11 interface to R's C interface.  Compared
to other approaches 'cpp11' strives to be safe against long jumps from
the C API as well as C++ exceptions, conform to normal R function
semantics and supports interaction with 'ALTREP' vectors.
2021-01-01 05:09:26 +00:00