File: main.cc

package info (click to toggle)
aspectc%2B%2B 1.0pre4~svn.20080711-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 104,504 kB
  • ctags: 363,975
  • sloc: cpp: 1,645,814; ansic: 16,601; sh: 2,175; makefile: 1,043
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");
}