Используется для управления хранением значения и наличием его в определенном перечне. При инициализации эл-та указывается значение, которое будет в нем хранится, и перечень, в котором это значение будет зарегистрировано. При установке нового значения старое уничтожается и изымается из перечня, в котором оно присутствовало, а эл-т сохраняет новое значение и регистрирует его в новом списке. При уничтожении эл-та происходит уничтожение значения и изъятие его из перечня (если значение было установлено).
Эл-т позволяет принудительно сбрасывать значение. При этом оно изымается из перечня и уничтожается.
Эл-т может быть пустым или содержать значение. Эл-т пуст после вызова конструктора по умолчанию, вызова 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 |