Add S4 CuddManager constructor and C++ wrapper with finalizer
#3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Cuddmanager so R code can construct and manage a manager instance without leaking C++ memory.new_cudd_manager.Cuddinstance.methodsnamespace and to follow R naming conventions for constructors.Description
src/cudd_manager.cppwhich implementsc_cudd_new()that allocates aCuddobject, returns an external pointer, and registers a finalizer that deletes theCuddinstance.c_cudd_new()insrc/rcudd.hand registered it insrc/register.cpp(added thec_cudd_newentry toR_registerRoutines).R/cudd_manager.Rthat defines the S4 classCuddManager, the constructorCuddManager()which calls.Call("c_cudd_new"), and ashowmethod, and qualified S4 operations withmethods::instead of importing the namespace.Imports: methodstoDESCRIPTION, exportingCuddManagerinNAMESPACE, and refreshing generated man files (man/CuddManager-class.Rdandman/CuddManager.Rd).Testing
roxygen2::roxygenise()to refresh documentation after the API/name changes, which was executed after installingroxygen2.R CMD build .which producedRcudd_0.0.0.9999.tar.gz.R CMD check --no-manual Rcudd_0.0.0.9999.tar.gzand the check completed successfully withStatus: OK.Codex Task