| 28 | |
| 29 | template <int RTYPE> |
| 30 | typename Rcpp::traits::storage_type<RTYPE>::type* r_vector_start(SEXP x) { |
| 31 | typedef typename Rcpp::traits::storage_type<RTYPE>::type* pointer; |
| 32 | return reinterpret_cast<pointer>(dataptr(x)); |
| 33 | } |
| 34 | |
| 35 | // add specializations to avoid use of dataptr |
| 36 | #define RCPP_VECTOR_START_IMPL(__RTYPE__, __ACCESSOR__) \ |