File: convolve10_cpp.h

package info (click to toggle)
rcpp 1.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,480 kB
  • sloc: cpp: 27,436; ansic: 7,778; sh: 53; makefile: 2
file content (27 lines) | stat: -rw-r--r-- 517 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

class Cache{
public:
    typedef double& proxy ;
    typedef double* iterator ;

    Cache( iterator data_) : data(data_){}

    inline proxy ref(int i){ return data[i] ; }
    inline proxy ref(int i) const { return data[i] ; }

private:
    iterator data ;
} ;

class Vec {
public:
    typedef double& proxy ;

    Vec( double* data_ ) : cache(data_){}
    inline proxy operator[]( int i){ return cache.ref(i) ; }
    inline proxy operator[]( int i) const { return cache.ref(i) ; }

private:
    Cache cache ;
} ;