AspectC++

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
AspectC++
Класс языка аспектно-ориентированный
Лицензия GPL 2+
Сайт aspectc.org
ОС Кроссплатформенный

AspectC++ — аспектно-ориентированное расширение языка C++[1], программа, написанная на C++ является валидной программой на AspectC++[2]. По синтаксису и семантике похож на AspectJ[2][3]. Существует свободный транслятор в язык C++.

Пример

aspect Tracer
{ 
   advice call("% %Iter::Reset(...)") : before()
   {
      cerr << "about to call Iter::Reset for " << JoinPoint::signature() << endl;
   }
};

Tracer выведет сообщение перед каждым вызовом Reset для классов, заканчивающихся на Iter .

См. также

Примечания

  1. AspectC++ Publications (англ.). Дата обращения: 30 июня 2018. Архивировано 3 сентября 2018 года.
  2. Awais Rashid. Transactions on Aspect-Oriented Software Development II: Focus: AOP Systems ... (англ.). Дата обращения: 16 июня 2022. Архивировано 16 июня 2022 года.

Ссылки