Используется для управления хранением значения и наличием его в определенном перечне. При инициализации эл-та указывается значение, которое будет в нем хранится, и перечень, в котором это значение будет зарегистрировано. При установке нового значения старое уничтожается и изымается из перечня, в котором оно присутствовало, а эл-т сохраняет новое значение и регистрирует его в новом списке. При уничтожении эл-та происходит уничтожение значения и изъятие его из перечня (если значение было установлено).
Эл-т позволяет принудительно сбрасывать значение. При этом оно изымается из перечня и уничтожается.
Эл-т может быть пустым или содержать значение. Эл-т пуст после вызова конструктора по умолчанию, вызова Unassign() или присвоения пустого эл-та. Наличие значения можно определить методом Assigned().
Класс обеспечивает многопоточность.
См. определение в файле Register.h строка 232
Открытые типы | |
typedef ValueT | Type |
Открытые члены | |
Item () | |
Конструктор по умолчанию. | |
Item (Register *Reg, const Type &Value) | |
Конструктор инициализации. | |
Item (Register &Reg, const Type &Value) | |
Конструктор инициализации. | |
Item (const Item &Src) | |
Конструктор копирования. | |
~Item () | |
Деструктор. | |
Item & | operator= (const Item &Src) |
Оператор копирования. | |
bool | Assigned () const |
Если эл-т содержит значение, то возвращает true иначе - false. | |
Type | Value () const |
Возвращает значение, хранящееся в эл-те. | |
Register * | Reg () const |
Возвращает перечень, в котором зарегистрировано значение. | |
void | Set (Register *Reg, const Type &Value) |
Установить новое значение. | |
void | Set (Register &Reg, const Type &Value) |
Установить новое значение. | |
void | Unassign () |
Сброс значения. | |
Друзья | |
class | Register |
typedef ValueT Cntm::Register< ValueT, StoreT >::Item::Type |
См. определение в файле Register.h строка 236
Cntm::Register< ValueT, StoreT >::Item::Item | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует перечень в NULL. Эл-т не содержит никакого значения, вызов метода Value() запрещен.
См. определение в файле Register.h строка 241
Cntm::Register< ValueT, StoreT >::Item::Item | ( | Register * | Reg, | |
const Type & | Value | |||
) | [inline] |
Конструктор инициализации.
Сохраняет значение Value (преобразуя его к типу StoreT) и регистрирует его в перечне Reg. Если Reg равен NULL, то ни каких действий не выполняется.
Reg | - перечень, в котором будет зарегистрировано значение. | |
Value | - значение, которое будет зарегистрировано в перечне. |
См. определение в файле Register.h строка 248
Перекрестные ссылки Cntm::Register< ValueT, StoreT >::AddItem() и Cntm::SpecUtils::ObjectAllocateBuffer< T >::Place().
Cntm::Register< ValueT, StoreT >::Item::Item | ( | Register & | Reg, | |
const Type & | Value | |||
) | [inline] |
Конструктор инициализации.
Сохраняет значение Value (преобразуя его к типу StoreT) и регистрирует его в перечне Reg. Если Reg равен NULL, то ни каких действий не выполняется.
Reg | - перечень, в котором будет зарегистрировано значение. | |
Value | - значение, которое будет зарегистрировано в перечне. |
См. определение в файле Register.h строка 263
Перекрестные ссылки Cntm::Register< ValueT, StoreT >::AddItem() и Cntm::SpecUtils::ObjectAllocateBuffer< T >::Place().
Cntm::Register< ValueT, StoreT >::Item::Item | ( | const Item & | Src | ) | [inline] |
Конструктор копирования.
Копирует значение из исходного эл-та и регистрирует его в перечне, если исходный эл-т не пуст.
Src | - исходный эл-т. |
См. определение в файле Register.h строка 277
Перекрестные ссылки Cntm::Register< ValueT, StoreT >::AddItem(), Cntm::SpecUtils::ObjectAllocateBuffer< T >::Place() и Cntm::Register< ValueT, StoreT >::Item::StoreValue().
Cntm::Register< ValueT, StoreT >::Item::~Item | ( | ) | [inline] |
Деструктор.
Если эл-т не пуст, то значение изымается из перечня и удаляется.
См. определение в файле Register.h строка 290
Перекрестные ссылки Cntm::Register< ValueT, StoreT >::Item::Unassign().
Cntm::Register< ValueT, StoreT >::Item & Cntm::Register< ValueT, StoreT >::Item::operator= | ( | const Item & | Src | ) | [inline] |
Оператор копирования.
Если эл-т не пуст, то значение изымается из перечня и удаляется. После этого копирует значение из исходного эл-та и регистрирует его в перечне, если исходный эл-т не пуст.
Src | - исходный эл-т. |
См. определение в файле Register.h строка 586
bool Cntm::Register< ValueT, StoreT >::Item::Assigned | ( | ) | const [inline] |
Если эл-т содержит значение, то возвращает true иначе - false.
См. определение в файле Register.h строка 304
Type Cntm::Register< ValueT, StoreT >::Item::Value | ( | ) | const [inline] |
Возвращает значение, хранящееся в эл-те.
Метод следует вызывать только когда в эл-те имеется значение (для определения наличия значение можно использовать Assigned()).
См. определение в файле Register.h строка 309
Register* Cntm::Register< ValueT, StoreT >::Item::Reg | ( | ) | const [inline] |
Возвращает перечень, в котором зарегистрировано значение.
Если эл-т не содержит значения, то возвращается NULL.
См. определение в файле Register.h строка 318
void Cntm::Register< ValueT, StoreT >::Item::Set | ( | Register * | Reg, | |
const Type & | Value | |||
) | [inline] |
Установить новое значение.
Если эл-т не пуст, то значение изымается из перечня и удаляется. После этого копирует значение из Value и регистрирует его в перечне Reg, если Reg не равен NULL.
Reg | - перечень, в котором будет зарегистрировано значение. | |
Value | - значение, которое будет зарегистрировано в перечне. |
См. определение в файле Register.h строка 616
void Cntm::Register< ValueT, StoreT >::Item::Set | ( | Register & | Reg, | |
const Type & | Value | |||
) | [inline] |
Установить новое значение.
Если эл-т не пуст, то значение изымается из перечня и удаляется. После этого копирует значение из Value и регистрирует его в перечне Reg, если Reg не равен NULL.
Reg | - перечень, в котором будет зарегистрировано значение. | |
Value | - значение, которое будет зарегистрировано в перечне. |
См. определение в файле Register.h строка 332
Перекрестные ссылки Cntm::Register< ValueT, StoreT >::Item::Set().
void Cntm::Register< ValueT, StoreT >::Item::Unassign | ( | ) | [inline] |
Сброс значения.
Если эл-т не пуст, то значение изымается из перечня и удаляется.
См. определение в файле Register.h строка 645
friend class Register [friend] |
См. определение в файле Register.h строка 341
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |