AspectC++ — аспектно-ориентированное расширение языка C++[1], программа, написанная на C++ является валидной программой на AspectC++[2]. По синтаксису и семантике похож на AspectJ[2][3]. Существует свободный транслятор в язык C++.
| AspectC++ | |
|---|---|
| Класс языка | аспектно-ориентированный |
| Лицензия | GPL 2+ |
| Сайт | aspectc.org |
| ОС | Кроссплатформенный |
aspect Tracer
{
advice call("% %Iter::Reset(...)") : before()
{
cerr << "about to call Iter::Reset for " << JoinPoint::signature() << endl;
}
};
Tracer выведет сообщение перед каждым вызовом Reset для классов, заканчивающихся на Iter .