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
.