File: Cache.ah

package info (click to toggle)
aspectc%2B%2B 1.0pre4~svn.20090918-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 117,308 kB
  • ctags: 410,601
  • sloc: cpp: 1,883,007; ansic: 17,279; sh: 2,190; makefile: 1,088
file content (15 lines) | stat: -rw-r--r-- 312 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef __Cache_ah__
#define __Cache_ah__

#include "ResultCache.h"

aspect Cache {
  advice call("% square(...)") : around () {
    if (!cache.find(*(unsigned*)tjp->arg(0), tjp->result())) {
      tjp->proceed();
      cache.insert(*(unsigned*)tjp->arg(0), *tjp->result());
    }
  }
};

#endif // __Cache_ah__