Граф наследования:so_4::rt::dyn_agent_coop_t:
Класс для кооперации и агентов создающихся динамически. Объект кооперация создается оператором new и содержит агентов, созданных оператором new.
При дерегистрации объект кооперации и все агенты будут уничтожены посредством оператора delete.
sample/destroyable_traits/main.cpp, sample/dyn_coop_controlled/main.cpp, sample/dyn_reg/main.cpp и sample/filter/c1.cpp.
Открытые члены | |
dyn_agent_coop_t (agent_t *agent) | |
Конструктор для кооперации из одного агента. | |
dyn_agent_coop_t (const char *coop_name, agent_t **coop_agents, size_t agent_count) | |
Конструктор для кооперации из нескольких агентов. | |
dyn_agent_coop_t (const std::string &coop_name, agent_t **coop_agents, size_t agent_count) | |
Конструктор для кооперации из нескольких агентов. | |
virtual void | deregistered (so_4::rt::impl::phys_coop_destroyer_t &dstr) |
Внутренний метод SObjectizer-a. | |
void | add_controlled_obj (dyn_coop_controlled_obj_t *obj) |
удален вместе с кооперацией. | |
Защищенные члены | |
void | agents_delivered_to_destroyer () |
Указание того, что все агенты кооперации были переданы в объект phys_coop_destroyer. | |
Закрытые члены | |
void | agents_to_phys_coop_destroyer (so_4::rt::impl::phys_coop_destroyer_t &dstr) |
Внутренний метод SObjectizer-a. | |
Закрытые данные | |
bool | m_is_agents_in_destroyer |
Внутренний атрибут SObjectizer-a. | |
auto_ptr_3::obj_ptr_t< impl::dyn_coop_controlled_obj_storage_t > | m_controlled_obj_storage |
объекты. |
|
Конструктор для кооперации из одного агента. В качестве имени кооперации используется имя агента. Для создания кооперации с одним агентом, но с именем, отличающимся от имени агента необходимо воспользоваться вторым конструктором.
|
|
Конструктор для кооперации из нескольких агентов.
|
|
Конструктор для кооперации из нескольких агентов.
|
|
удален вместе с кооперацией.
|
|
Указание того, что все агенты кооперации были переданы в объект phys_coop_destroyer.
|
|
Внутренний метод SObjectizer-a. Информирование кооперации о том, что она была дерегистрирована. Данная реализация вызывает у всех агентов метод so_handle_deregistration. После чего заносит в объект dstr указатели на сам объект-кооперацию и на все агенты, входящие в кооперацию. Переопределяет метод предка so_4::rt::agent_coop_t. Переопределяется в so_4::disp::qt_ui::dyn_coop_t. |
|
объекты.
|
|
Внутренний атрибут SObjectizer-a. Признак того, что указатели на агентов были переданы в phys_coop_destroyer, т.е. что агенты были уничтожены. Если этот признак не установлен, то агентов нужно уничтожать в деструкторе нашего объекта. |