22 #ifndef Rcpp__vector__RangeIndexer_h
23 #define Rcpp__vector__RangeIndexer_h
25 #define UNROLL_LOOP(OP) \
26 typedef typename ::Rcpp::traits::Extractor<RTYPE,NA,T>::type EXT ; \
27 const EXT& input( x.get_ref() ) ; \
28 int __trip_count = (size_) >> 2; \
30 for ( ; __trip_count > 0 ; --__trip_count) { \
31 start[i] OP input[i] ; i++ ; \
32 start[i] OP input[i] ; i++ ; \
33 start[i] OP input[i] ; i++ ; \
34 start[i] OP input[i] ; i++ ; \
38 start[i] OP input[i] ; i++ ; \
40 start[i] OP input[i] ; i++ ; \
42 start[i] OP input[i] ; i++ ; \
52 template <
int RTYPE,
bool NA,
typename VECTOR>
55 typedef typename VECTOR::Proxy
Proxy ;
61 template <
bool NA_,
typename T>
66 template <
bool NA_,
typename T>
71 template <
bool NA_,
typename T>
76 template <
bool NA_,
typename T>
81 template <
bool NA_,
typename T>
90 inline R_xlen_t
size()
const {
const_iterator begin() const
RangeIndexer & operator*=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
VECTOR::iterator iterator
RangeIndexer & operator/=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
RangeIndexer & operator+=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
RangeIndexer & operator=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
RangeIndexer & operator-=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
RangeIndexer(VECTOR &vec_, const Rcpp::Range &range_)
Proxy operator[](R_xlen_t i) const