Skip to content

cpp11 0.4.0

Compare
Choose a tag to compare
@jimhester jimhester released this 22 Oct 13:47

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::sexps (#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)