Abstract. This paper presents AOP++, a generic aspect-oriented programming framework in C++. It successfully incorporates AOP with object-oriented programming as well as generic programming naturally in the framework of standard C++. It innovatively makes use of C++ templates to express pointcut expressions and match join points at compile time. It innovatively creates a full-fledged aspect weaver by using template metaprogramming techniques to perform aspect weaving. It is notable that AOP++ itself is written completely in standard C++, and requires no language extensions. With the help of AOP++, C++ programmers can facilitate AOP with only a little effort.
For example, AOP++ REF is a generic AOP framework in C++ that utilized the metaprogramming constructs of the language, i.e. templates, to express pointcut expressions and match joinpoints at compile-time.
AOP++: a generic aspect-oriented programming framework in c++
GPCE'05
Computer Science