File: main.cc

package info (click to toggle)
aspectc%2B%2B 1%3A2.2%2Bgit20181008-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 18,704 kB
  • sloc: cpp: 110,629; ansic: 7,644; sh: 2,192; makefile: 1,317; pascal: 634; python: 402; xml: 349
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");
}