[aspectc-user] Pointcut & template class
    Olaf Spinczyk 
    Olaf.Spinczyk at informatik.uni-erlangen.de
       
    Thu Jan 18 09:56:09 CET 2007
    
    
  
Hi,
the AspectC++ language does not allow you match templates, only template
*instances*. Therefore, what you problable mean is:
pointcut pippoPointcut() = "pippo<%>"; // matches all pippo instances
You could then give advice for all call to member functions of the
template by:
advice call(pippoPointcut()) : before () {
  cout << "pippo called" << endl;
}
However, please note that the template support in AspectC++ is still in
a very early state. The weaver cannot manipulate the template instances,
only non-template code. The advice above would only match calls that are
not located within the template itself. Also note that you will have to
compile with --real-instances.
Olaf
Luigi 'Comio' Mantellini wrote:
> Dear All,
> 
> How can I define a statitic pointcut that describe a template class?
> 
> In other words, I'm searching for a solution like this:
> 
> template <class T>
> pippo { ...
> };
> 
> adivice myAdv {
> ....
>   pointcut pippoPointcut() ="pippo<T>";
> ....
> }
> 
> 
> thanks!
> 
> luigi
> 
    
    
More information about the aspectc-user
mailing list