#include <types.hpp>
Этот обработчик самостоятельно проверяет разновидность атрибута и вызывает соотвествующий виртуальный метод. Это значит, что проверку вариантов не нужно вставлять в код, который обрабатывает атрибуты.
Обработчики конкретных типов атрибутов описаны как чистые виртуальные методы. Поэтому, если забыть реализовать обработчик для какой-либо разновидности атрибута, то производный от kind_processor_t класс не удасться использовать.
Открытые члены | |
void | process_type_kind (const attr_type_t &k) |
Выполнить операцию над атрибутом. | |
Защищенные члены | |
virtual void | on_value_kind (const attr_type_t &k)=0 |
virtual void | on_ptr_kind (const attr_type_t &k)=0 |
virtual void | on_extension_kind (const attr_type_t &k)=0 |
Обработать атрибут, который является указателем на производный класс-расширение. |
virtual void on_extension_kind | ( | const attr_type_t & | k | ) | [protected, pure virtual] |
Обработать атрибут, который является указателем на производный класс-расширение.
virtual void on_ptr_kind | ( | const attr_type_t & | k | ) | [protected, pure virtual] |
Обработчик атрибутов-указателей.
virtual void on_value_kind | ( | const attr_type_t & | k | ) | [protected, pure virtual] |
Обработчик атрибутов-значений.
void process_type_kind | ( | const attr_type_t & | k | ) |
Выполнить операцию над атрибутом.
Если тип атрибута распознать не удалось, то порождается исключение.