#include <scheme_impl.hpp>
Граф наследования:std_type_editor_t:
Открытые члены | |
std_type_editor_t (std_scheme_t &scheme) | |
void | def (const std::string &name) |
Попытка создать объект std_type_t. | |
void | make_defined () |
Сделать тип определенным. | |
Реализация унаследованных методов. | |
virtual void | make_abstract () |
Сделать тип абстрактным. | |
virtual void | make_extensible () |
Сделать тип расширяемым. | |
virtual void | add_base (const std::string &name, bool is_virtual ) |
Добавить базовый тип. | |
virtual void | add_base_as_extension (const std::string &name) |
subclassing_by_extension. | |
virtual attr_editor_t & | start_attr_def (const std::string &attr_name, const std::string &type_name) |
Начать определение атрибута. | |
virtual void | commit_attr_def () |
атрибут в список атрибутов. | |
virtual void | rollback_attr_def () |
Отказаться от определения атрибута. | |
virtual cpp_mapping_editor_t & | cpp_mapping () |
типа в C++. | |
virtual void | start_extension () |
Увеличить текущую глубину вложенности расширений. | |
virtual void | turn_subclassing_by_extension_on () |
Указать, что тип поддерживает subclassing_by_extension. | |
Закрытые данные | |
std_scheme_t & | m_scheme |
Схема, которой мы принадлежим. | |
ref_std_type_t | m_ref_type |
Описываемый тип. | |
ref_std_attr_editor_t | m_ref_attr_editor |
Ссылка на текущий редактор атрибута. | |
ref_std_cpp_mapping_editor_t | m_ref_cpp_mapping_editor |
вызова метода def. | |
unsigned int | m_extension_deep |
Текущая глубина вложенности расширений. |
void add_base | ( | const std::string & | name, | |
bool | is_virtual | |||
) | [virtual] |
void add_base_as_extension | ( | const std::string & | name | ) | [virtual] |
subclassing_by_extension.
oess_1::ex_t | в случае невозможности добавления типа. |
Замещает type_editor_t.
void commit_attr_def | ( | ) | [virtual] |
атрибут в список атрибутов.
В случае ошибки порождается исключение. После завершения данной функции пользоваться объектом attr_editor_t нельзя!
Замещает type_editor_t.
void def | ( | const std::string & | name | ) |
Попытка создать объект std_type_t.
В случае ошибки порождаются исключения.
void make_defined | ( | ) |
Сделать тип определенным.
Вызывается схемой при получении уведомления о завершении редактирования типа.
void make_extensible | ( | ) | [virtual] |
void rollback_attr_def | ( | ) | [virtual] |
Отказаться от определения атрибута.
После завершения данной функции пользоваться объектом attr_editor_t нельзя!
Замещает type_editor_t.
attr_editor_t & start_attr_def | ( | const std::string & | attr_name, | |
const std::string & | type_name | |||
) | [virtual] |
Начать определение атрибута.
Невозможность определения атрибута с указанным именем может возникнуть только на этапе занесения атрибута в тип. В случае ошибки порождается исключение.
Замещает type_editor_t.
void start_extension | ( | ) | [virtual] |
Увеличить текущую глубину вложенности расширений.
Не может использоваться, если в данный момент есть редактор атрибута.
Замещает type_editor_t.
void turn_subclassing_by_extension_on | ( | ) | [virtual] |
unsigned int m_extension_deep [private] |
Текущая глубина вложенности расширений.
ref_std_attr_editor_t m_ref_attr_editor [private] |
Ссылка на текущий редактор атрибута.
Принимает корректное значение после успешного вызова start_attr_def. Обнуляется после вызовов commit_attr_def и rollback_attr_def.