|
Rcpp Version 0.9.10
|
00001 00002 class Cache{ 00003 public: 00004 typedef double& proxy ; 00005 typedef double* iterator ; 00006 00007 Cache( iterator data_) : data(data_){} 00008 00009 inline proxy ref(int i){ return data[i] ; } 00010 inline proxy ref(int i) const { return data[i] ; } 00011 00012 private: 00013 iterator data ; 00014 } ; 00015 00016 class Vec { 00017 public: 00018 typedef double& proxy ; 00019 00020 Vec( double* data_ ) : cache(data_){} 00021 inline proxy operator[]( int i){ return cache.ref(i) ; } 00022 inline proxy operator[]( int i) const { return cache.ref(i) ; } 00023 00024 private: 00025 Cache cache ; 00026 } ; 00027