Многие вещи в SObjectizer-е базируются на неявно созданных глобальных переменных (например, описание класса агента в виде макросов SOL4_* на самом деле раскрывается в последовательность специальных глобальных переменных).
Каждая из таких глобальных переменных во время своей инициализации обращается к ядру SObjectizer-а. Поэтому необходимо, чтобы ядро SObjectizer-а к этому моменту времени уже было проинициализированно. Для обеспечения этого и предназначен класс __init_t.
В каждом исходном файле неявно создается переменная типа __init_t. Конструктор этой переменной заставляет ядро SObjectizer-а проинициализироваться, а деструктор определяет, может ли ядро SObjectizer-а быть деинициализированно.
Открытые члены | |
__init_t () | |
Конструктор по умолчанию. | |
~__init_t () | |
Закрытые члены | |
__init_t (const __init_t &) | |
Защита от копирования. | |
__init_t & | operator= (const __init_t &) |
Защита от копирования. | |
Закрытые статические данные | |
static int | m_counter |
Внутренний атрибут SObjectizer-а. |
so_4::rt::__init_t::__init_t | ( | ) |
Конструктор по умолчанию.
Если ядро SObjectizer-a не инициализировано, то оно инициализируется.
Перекрестные ссылки so_4::rt::impl::coop_relation::init() и m_counter.
so_4::rt::__init_t::~__init_t | ( | ) |
Если ядро SObjectizer-a может быть деинициализировано, то оно деинициализируется.
Перекрестные ссылки so_4::rt::impl::coop_relation::deinit() и m_counter.
int so_4::rt::__init_t::m_counter [static, private] |
Внутренний атрибут SObjectizer-а.
Счетчик инициализации/деинициализации.
Значение 0 указывает, что SObjectizer не инициализирован.
Используется в __init_t() и ~__init_t().
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой 1.5.6 |