[Rcpp-commits] r237 - pkg/src/Rcpp
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Dec 30 16:56:56 CET 2009
Author: edd
Date: 2009-12-30 16:56:56 +0100 (Wed, 30 Dec 2009)
New Revision: 237
Modified:
pkg/src/Rcpp/Environment.h
pkg/src/Rcpp/RObject.h
pkg/src/Rcpp/XPtr.h
Log:
most minor header cleanup and reindentation
Modified: pkg/src/Rcpp/Environment.h
===================================================================
--- pkg/src/Rcpp/Environment.h 2009-12-30 14:40:36 UTC (rev 236)
+++ pkg/src/Rcpp/Environment.h 2009-12-30 15:56:56 UTC (rev 237)
@@ -1,9 +1,8 @@
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
//
-// Rcpp_RObject.h: Rcpp R/C++ interface class library -- super class of all R objects wrapped in C++ classes
+// Environment.h: Rcpp R/C++ interface class library -- access R environments
//
-// Copyright (C) 2009 - 2010 Dirk Eddelbuettel
-// Copyright (C) 2009 - 2010 Romain Francois
+// Copyright (C) 2009 - 2010 Dirk Eddelbuettel and Romain Francois
//
// This file is part of Rcpp.
//
@@ -33,16 +32,16 @@
class Environment: public RObject{
public:
- /**
- * wraps the given environment
- *
- * if the SEXP is not an environment, and exception is thrown
- */
- Environment(SEXP m_sexp) ;
+ /**
+ * wraps the given environment
+ *
+ * if the SEXP is not an environment, and exception is thrown
+ */
+ Environment(SEXP m_sexp) ;
- /**
- * Nothing specific
- */
+ /**
+ * Nothing specific
+ */
~Environment() ;
/**
@@ -55,11 +54,11 @@
protected:
- /**
- * we cache whether this environment is a user defined database
- * or a standard environment
- */
- bool is_user_database ;
+ /**
+ * we cache whether this environment is a user defined database
+ * or a standard environment
+ */
+ bool is_user_database ;
};
} // namespace Rcpp
Modified: pkg/src/Rcpp/RObject.h
===================================================================
--- pkg/src/Rcpp/RObject.h 2009-12-30 14:40:36 UTC (rev 236)
+++ pkg/src/Rcpp/RObject.h 2009-12-30 15:56:56 UTC (rev 237)
@@ -1,9 +1,8 @@
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
//
-// Rcpp_RObject.h: Rcpp R/C++ interface class library -- super class of all R objects wrapped in C++ classes
+// RObject.h: Rcpp R/C++ interface class library -- general R object wrapper
//
-// Copyright (C) 2009 - 2010 Dirk Eddelbuettel
-// Copyright (C) 2009 - 2010 Romain Francois
+// Copyright (C) 2009 - 2010 Dirk Eddelbuettel and Romain Francois
//
// This file is part of Rcpp.
//
@@ -31,23 +30,23 @@
class RObject{
public:
- /**
- * wraps a SEXP. The SEXP is not automatically
- * protected from garbage collection because it might be
- * protected from elsewhere (e.g. if it comes from the
- * R side). See protect and release for ways to protect
- * the SEXP from garbage collection, and release to
- * remove the protection
- */
- RObject(SEXP m_sexp = R_NilValue) : m_sexp(m_sexp) {};
+ /**
+ * wraps a SEXP. The SEXP is not automatically
+ * protected from garbage collection because it might be
+ * protected from elsewhere (e.g. if it comes from the
+ * R side). See protect and release for ways to protect
+ * the SEXP from garbage collection, and release to
+ * remove the protection
+ */
+ RObject(SEXP m_sexp = R_NilValue) : m_sexp(m_sexp) {};
/**
- * if this object is protected rom R's GC, then it is released
- * and become subject to garbage collection. See protect
- * and release member functions.
- */
+ * if this object is protected rom R's GC, then it is released
+ * and become subject to garbage collection. See protect
+ * and release member functions.
+ */
~RObject() ;
-
+
RObject(const double & v);
RObject(const int & v);
RObject(const Rbyte & v);
@@ -81,40 +80,40 @@
/**
- * protects the wrapped SEXP from garbage collection. This
- * calls the R_PreserveObject function on the underlying SEXP.
- *
- * Note that this does not use the PROTECT/UNPROTECT dance
- */
- void protect();
+ * protects the wrapped SEXP from garbage collection. This
+ * calls the R_PreserveObject function on the underlying SEXP.
+ *
+ * Note that this does not use the PROTECT/UNPROTECT dance
+ */
+ void protect();
- /**
- * explicitely release this object to R garbage collection. This
- * calls the R_ReleaseObject function on the underlying SEXP.
- * This is automatically done by the destructor if we protected
- * the SEXP (using the protect member function)
- */
- void release();
+ /**
+ * explicitely release this object to R garbage collection. This
+ * calls the R_ReleaseObject function on the underlying SEXP.
+ * This is automatically done by the destructor if we protected
+ * the SEXP (using the protect member function)
+ */
+ void release();
+
+ /**
+ * implicit conversion to SEXP
+ */
+ inline operator SEXP() const {
+ return m_sexp ;
+ }
- /**
- * implicit conversion to SEXP
- */
- inline operator SEXP() const {
- return m_sexp ;
- }
+
+ /* attributes */
-
- /* attributes */
-
- /**
- * extracts the names of the attributes of the wrapped SEXP
- */
+ /**
+ * extracts the names of the attributes of the wrapped SEXP
+ */
std::vector<std::string> attributeNames() const ;
/**
* Identifies if the SEXP has the given attribute
*/
- bool hasAttribute( const std::string& attr) const ;
+ bool hasAttribute( const std::string& attr) const ;
/**
* extract the given attribute
@@ -136,27 +135,27 @@
}
/**
- * explicit conversion to SEXP
- */
- inline SEXP asSexp() const {
- return m_sexp ;
- }
+ * explicit conversion to SEXP
+ */
+ inline SEXP asSexp() const {
+ return m_sexp ;
+ }
protected:
- /**
- * The SEXP this is wrapping
- */
- SEXP m_sexp ;
+ /**
+ * The SEXP this is wrapping
+ */
+ SEXP m_sexp ;
- /**
- * true if this protects the SEXP from garbage collection
- * using R_ReleaseObject/R_PreserveObject strategy
- *
- * if this is true then the object will be release and become
- * subject to R garbage collection when this object is deleted
- */
- bool isProtected ;
+ /**
+ * true if this protects the SEXP from garbage collection
+ * using R_ReleaseObject/R_PreserveObject strategy
+ *
+ * if this is true then the object will be release and become
+ * subject to R garbage collection when this object is deleted
+ */
+ bool isProtected ;
};
Modified: pkg/src/Rcpp/XPtr.h
===================================================================
--- pkg/src/Rcpp/XPtr.h 2009-12-30 14:40:36 UTC (rev 236)
+++ pkg/src/Rcpp/XPtr.h 2009-12-30 15:56:56 UTC (rev 237)
@@ -29,99 +29,99 @@
template <typename T>
void delete_finalizer(SEXP p){
- if( TYPEOF(p) == EXTPTRSXP ){
- T* ptr = (T*) EXTPTR_PTR(p) ;
- delete ptr ;
- }
+ if( TYPEOF(p) == EXTPTRSXP ){
+ T* ptr = (T*) EXTPTR_PTR(p) ;
+ delete ptr ;
+ }
}
template <typename T>
class XPtr : public RObject {
- public:
+public:
- /**
- * constructs a XPtr wrapping the external pointer (EXTPTRSXP SEXP)
- *
- * @param xp external pointer to wrap
- */
- explicit XPtr(SEXP m_sexp) : RObject::RObject(m_sexp){} ;
+ /**
+ * constructs a XPtr wrapping the external pointer (EXTPTRSXP SEXP)
+ *
+ * @param xp external pointer to wrap
+ */
+ explicit XPtr(SEXP m_sexp) : RObject::RObject(m_sexp){} ;
- /**
- * creates a new external pointer wrapping the dumb pointer p.
- * This calls R_PreserveObject to prevent the external pointer
- * from R garbage collection
- *
- * @param p dumb pointer to some object
- * @param set_delete_finalizer if set to true, a finalizer will
- * be registered for the external pointer. The finalizer
- * is called when the xp is garbage collected. The finalizer
- * is merely a call to the delete operator or the pointer
- * so you need to make sure the pointer can be deleted.
- */
- explicit XPtr(T* p, bool set_delete_finalizer) ;
+ /**
+ * creates a new external pointer wrapping the dumb pointer p.
+ * This calls R_PreserveObject to prevent the external pointer
+ * from R garbage collection
+ *
+ * @param p dumb pointer to some object
+ * @param set_delete_finalizer if set to true, a finalizer will
+ * be registered for the external pointer. The finalizer
+ * is called when the xp is garbage collected. The finalizer
+ * is merely a call to the delete operator or the pointer
+ * so you need to make sure the pointer can be deleted.
+ */
+ explicit XPtr(T* p, bool set_delete_finalizer) ;
- /**
- * Returns a reference to the object wrapped. This allows this
- * object to look and feel like a dumb pointer to T
- */
- T& operator*() const ;
+ /**
+ * Returns a reference to the object wrapped. This allows this
+ * object to look and feel like a dumb pointer to T
+ */
+ T& operator*() const ;
- /**
- * Returns the dumb pointer. This allows to call the -> operator
- * on this as if it was the dumb pointer
- */
- T* operator->() const ;
+ /**
+ * Returns the dumb pointer. This allows to call the -> operator
+ * on this as if it was the dumb pointer
+ */
+ T* operator->() const ;
- /**
- * Returns the 'protected' part of the external pointer, this is
- * the SEXP that is passed in as the third argument of the
- * R_MakeExternalPointer function. See Writing R extensions
- */
- SEXP getProtected() ;
+ /**
+ * Returns the 'protected' part of the external pointer, this is
+ * the SEXP that is passed in as the third argument of the
+ * R_MakeExternalPointer function. See Writing R extensions
+ */
+ SEXP getProtected() ;
- /**
- * Returns the 'tag' part of the external pointer, this is the
- * SEXP that is passed in as the 2nd argument of the
- * R_MakeExternalPointer function. See Writing R extensions
- */
- SEXP getTag() ;
+ /**
+ * Returns the 'tag' part of the external pointer, this is the
+ * SEXP that is passed in as the 2nd argument of the
+ * R_MakeExternalPointer function. See Writing R extensions
+ */
+ SEXP getTag() ;
+
+ void setDeleteFinalizer() ;
- void setDeleteFinalizer() ;
-
};
template<typename T>
XPtr<T>::XPtr(T* p, bool set_delete_finalizer = true) : RObject::RObject() {
- m_sexp = R_MakeExternalPtr( (void*)p , R_NilValue, R_NilValue) ;
- if( set_delete_finalizer ){
- setDeleteFinalizer() ;
- }
- protect() ;
+ m_sexp = R_MakeExternalPtr( (void*)p , R_NilValue, R_NilValue) ;
+ if( set_delete_finalizer ){
+ setDeleteFinalizer() ;
+ }
+ protect() ;
}
template<typename T>
void XPtr<T>::setDeleteFinalizer(){
- R_RegisterCFinalizerEx( m_sexp, delete_finalizer<T> , FALSE) ;
+ R_RegisterCFinalizerEx( m_sexp, delete_finalizer<T> , FALSE) ;
}
template<typename T>
T& XPtr<T>::operator*() const {
- return *((T*)EXTPTR_PTR( m_sexp )) ;
+ return *((T*)EXTPTR_PTR( m_sexp )) ;
}
template<typename T>
T* XPtr<T>::operator->() const {
- return (T*)(EXTPTR_PTR(m_sexp));
+ return (T*)(EXTPTR_PTR(m_sexp));
}
template<typename T>
SEXP XPtr<T>::getProtected(){
- return EXTPTR_PROT(m_sexp) ;
+ return EXTPTR_PROT(m_sexp) ;
}
template<typename T>
SEXP XPtr<T>::getTag(){
- return EXTPTR_TAG(m_sexp) ;
+ return EXTPTR_TAG(m_sexp) ;
}
} // namespace Rcpp
More information about the Rcpp-commits
mailing list