
Используется для управления хранением значения и наличием его в определенном перечне. При инициализации эл-та указывается значение, которое будет в нем хранится, и перечень, в котором это значение будет зарегистрировано. При установке нового значения старое уничтожается и изымается из перечня, в котором оно присутствовало, а эл-т сохраняет новое значение и регистрирует его в новом списке. При уничтожении эл-та происходит уничтожение значения и изъятие его из перечня (если значение было установлено).
Эл-т позволяет принудительно сбрасывать значение. При этом оно изымается из перечня и уничтожается.
Эл-т может быть пустым или содержать значение. Эл-т пуст после вызова конструктора по умолчанию, вызова Unassign() или присвоения пустого эл-та. Наличие значения можно определить методом Assigned().
Класс обеспечивает многопоточность.
См. определение в файле RegisterEx.h строка 236
Открытые типы | |
| typedef ValueT | Type |
Открытые члены | |
| Item () | |
| Конструктор по умолчанию. | |
| Item (const typename RegisterEx::Ptr &Reg, const Type &Value) | |
| Конструктор инициализации. | |
| Item (const Item &Src) | |
| Конструктор копирования. | |
| ~Item () | |
| Деструктор. | |
| Item & | operator= (const Item &Src) |
| Оператор копирования. | |
| bool | Assigned () const |
| Если эл-т содержит значение, то возвращает true иначе - false. | |
| Type | Value () const |
| Возвращает значение, хранящееся в эл-те. | |
| RegisterEx::Ptr | Reg () const |
| Возвращает перечень, в котором зарегистрировано значение. | |
| void | Set (const typename RegisterEx::Ptr &Reg, const Type &Value) |
| Установить новое значение. | |
| void | Unassign () |
| Сброс значения. | |
Друзья | |
| class | RegisterEx |
| typedef ValueT Cntm::RegisterEx< ValueT, StoreT >::Item::Type |
См. определение в файле RegisterEx.h строка 240
| Cntm::RegisterEx< ValueT, StoreT >::Item::Item | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует перечень в NULL. Эл-т не содержит никакого значения, вызов метода Value() запрещен.
См. определение в файле RegisterEx.h строка 245
| Cntm::RegisterEx< ValueT, StoreT >::Item::Item | ( | const typename RegisterEx::Ptr & | Reg, | |
| const Type & | Value | |||
| ) | [inline] |
Конструктор инициализации.
Сохраняет значение Value (преобразуя его к типу StoreT) и регистрирует его в перечне Reg. Если Reg равен NULL, то ни каких действий не выполняется.
| Reg | - перечень, в котором будет зарегистрировано значение. | |
| Value | - значение, которое будет зарегистрировано в перечне. |
См. определение в файле RegisterEx.h строка 252
| Cntm::RegisterEx< ValueT, StoreT >::Item::Item | ( | const Item & | Src | ) | [inline] |
Конструктор копирования.
Копирует значение из исходного эл-та и регистрирует его в перечне, если исходный эл-т не пуст.
| Src | - исходный эл-т. |
См. определение в файле RegisterEx.h строка 266
Перекрестные ссылки Cntm::RegisterEx< ValueT, StoreT >::Item::StoreValue().
| Cntm::RegisterEx< ValueT, StoreT >::Item::~Item | ( | ) | [inline] |
Деструктор.
Если эл-т не пуст, то значение изымается из перечня и удаляется.
См. определение в файле RegisterEx.h строка 279
Перекрестные ссылки Cntm::RegisterEx< ValueT, StoreT >::Item::Unassign().
| Cntm::RegisterEx< ValueT, StoreT >::Item & Cntm::RegisterEx< ValueT, StoreT >::Item::operator= | ( | const Item & | Src | ) | [inline] |
Оператор копирования.
Если эл-т не пуст, то значение изымается из перечня и удаляется. После этого копирует значение из исходного эл-та и регистрирует его в перечне, если исходный эл-т не пуст.
| Src | - исходный эл-т. |
См. определение в файле RegisterEx.h строка 568
| bool Cntm::RegisterEx< ValueT, StoreT >::Item::Assigned | ( | ) | const [inline] |
Если эл-т содержит значение, то возвращает true иначе - false.
См. определение в файле RegisterEx.h строка 293
| Type Cntm::RegisterEx< ValueT, StoreT >::Item::Value | ( | ) | const [inline] |
Возвращает значение, хранящееся в эл-те.
Метод следует вызывать только когда в эл-те имеется значение (для определения наличия значение можно использовать Assigned()).
См. определение в файле RegisterEx.h строка 298
| RegisterEx::Ptr Cntm::RegisterEx< ValueT, StoreT >::Item::Reg | ( | ) | const [inline] |
Возвращает перечень, в котором зарегистрировано значение.
Если эл-т не содержит значения, то возвращается NULL.
См. определение в файле RegisterEx.h строка 307
| void Cntm::RegisterEx< ValueT, StoreT >::Item::Set | ( | const typename RegisterEx::Ptr & | Reg, | |
| const Type & | Value | |||
| ) |
Установить новое значение.
Если эл-т не пуст, то значение изымается из перечня и удаляется. После этого копирует значение из Value и регистрирует его в перечне Reg, если Reg не равен NULL.
| Reg | - перечень, в котором будет зарегистрировано значение. | |
| Value | - значение, которое будет зарегистрировано в перечне. |
| void Cntm::RegisterEx< ValueT, StoreT >::Item::Unassign | ( | ) | [inline] |
Сброс значения.
Если эл-т не пуст, то значение изымается из перечня и удаляется.
См. определение в файле RegisterEx.h строка 627
friend class RegisterEx [friend] |
См. определение в файле RegisterEx.h строка 323
|
|
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой
1.5.3
|