Generic Advice: On the Combination of AOP with Generative Programming in AspectC++
A metaobject protocol for C++