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++ ;               \ 
 
   52template <
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>
 
 
const_iterator begin() const
 
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)
 
VECTOR::iterator iterator
 
RangeIndexer & operator+=(const Rcpp::VectorBase< RTYPE, NA_, T > &x)
 
RangeIndexer(VECTOR &vec_, const Rcpp::Range &range_)
 
Proxy operator[](R_xlen_t i) const
 
T as(SEXP x, ::Rcpp::traits::r_type_primitive_tag)