File: main.cc

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 (22 lines) | stat: -rw-r--r-- 616 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
using std::printf;
#include <string>

aspect StringTracer {
 public:
  advice call ("% foo(... :: basic_string<char,...>)" && !"% printf(...)") : before () {
    printf ("calling %s\n", JoinPoint::signature ());
  }
};

//void foo(std::string s) {
void foo(std::basic_string<char> s) {
       printf("in foo(%s)\n", s.c_str ());
}

int main () {
  printf ("StdString: checks advice weaving for the STL string class\n");
  printf ("=========================================================\n");
  foo ("this is a string");
  printf ("=========================================================\n");
}