Используется для перебора всех значений перечня.
После создания перечислитель не содержит текущего значения. Перечисление начинается с первого вызова Next(). Цикл перечисления выглядит так: while (enum1.Next()) Process1(enum1.Current()).
Изменения в контейнере не влияют на состояние перечислителя. Если в перечне будет удалено текущее значение перечислителя, то оно по прежнему будет присутствовать в перечислителе, а следующим будет значение, которое было после текущего. Если будет удалено значение после текущего, то оно уже не будет перечислено. Если в процессе перечисления в перечень будет добавлено новое значение, то оно будет перечислено.
Для доступа к значениям одного перечня можно использовать сразу несколько перечислителей.
Данный класс не является многопоточным. Чтобы получить доступ к эл-там перечня из разных потоков одновременно, следует создать перечислители для каждого потока.
См. определение в файле HandledList.h строка 133
Открытые типы | |
typedef ValueT | Type |
Открытые члены | |
Enumerator (const Enumerator &Src) | |
Конструктор копирования. | |
Enumerator & | operator= (const Enumerator &Src) |
Оператор присвоения нового значения. | |
Enumerator & | operator++ () |
Перейти к следующему эл-ту. | |
~Enumerator () | |
Деструктор. | |
operator bool () const | |
Возвращает Enumerated(). | |
bool | operator! () const |
Возвращает !Enumerated(). | |
const Type & | operator * () const |
Получить ссылку на текущее значение. | |
const Type * | operator-> () const |
Получить адрес текущего значения для доступа к его членам. | |
bool | Enumerated () const |
Возвращает true - если идет перечисление, т. | |
const Type & | Current () const |
Возвращает текущее значение перечислителя. | |
bool | Next () |
При первом вызове после создания или сброса начинает перечисление. | |
void | Reset () |
Сбросить перечислитель в исходное состояние, аналогичное состоянию после создания перечислителя. | |
Защищенные члены | |
Enumerator (HandledList *List) | |
Конструктор. | |
HandledList * | List () const |
Указатель на перечислитель. | |
const ItemId & | CurrentId () const |
Идентификатор текущего значения в списке эл-тов. | |
ItemId & | CurrentId () |
Идентификатор текущего значения в списке эл-тов. | |
Друзья | |
class | HandledList |
typedef ValueT Cntm::HandledList< ValueT, StoreT >::Enumerator::Type |
См. определение в файле HandledList.h строка 137
Cntm::HandledList< ValueT, StoreT >::Enumerator::Enumerator | ( | const Enumerator & | Src | ) | [inline] |
Конструктор копирования.
Создает точную копию перечислителя Src (полностью копирует его состояние: текущее значение Current() (если идет перечисление), текущую позицию, флаг Enumerated()).
См. определение в файле HandledList.h строка 514
Cntm::HandledList< ValueT, StoreT >::Enumerator::~Enumerator | ( | ) | [inline] |
Cntm::HandledList< ValueT, StoreT >::Enumerator::Enumerator | ( | HandledList * | List | ) | [inline, protected] |
Конструктор.
Используется перечнем для инициализации перечислителя.
См. определение в файле HandledList.h строка 603
Cntm::HandledList< ValueT, StoreT >::Enumerator & Cntm::HandledList< ValueT, StoreT >::Enumerator::operator= | ( | const Enumerator & | Src | ) | [inline] |
Оператор присвоения нового значения.
Производит сброс перечислителя и присвоение нового состояния (см. конструктор копирования).
См. определение в файле HandledList.h строка 539
Enumerator& Cntm::HandledList< ValueT, StoreT >::Enumerator::operator++ | ( | ) | [inline] |
Перейти к следующему эл-ту.
Вызывает функцию Next(). См. функцию Next().
См. определение в файле HandledList.h строка 152
Перекрестные ссылки Cntm::HandledList< ValueT, StoreT >::Enumerator::Next().
Cntm::HandledList< ValueT, StoreT >::Enumerator::operator bool | ( | ) | const [inline] |
Возвращает Enumerated().
См. флаг Enumerated().
См. определение в файле HandledList.h строка 162
Перекрестные ссылки Cntm::HandledList< ValueT, StoreT >::Enumerator::Enumerated().
bool Cntm::HandledList< ValueT, StoreT >::Enumerator::operator! | ( | ) | const [inline] |
Возвращает !Enumerated().
См. флаг Enumerated().
См. определение в файле HandledList.h строка 167
Перекрестные ссылки Cntm::HandledList< ValueT, StoreT >::Enumerator::Enumerated().
const Type& Cntm::HandledList< ValueT, StoreT >::Enumerator::operator * | ( | ) | const [inline] |
Получить ссылку на текущее значение.
См. Current().
См. определение в файле HandledList.h строка 172
Перекрестные ссылки Cntm::HandledList< ValueT, StoreT >::Enumerator::Current().
const Type* Cntm::HandledList< ValueT, StoreT >::Enumerator::operator-> | ( | ) | const [inline] |
Получить адрес текущего значения для доступа к его членам.
См. Current().
См. определение в файле HandledList.h строка 177
Перекрестные ссылки Cntm::HandledList< ValueT, StoreT >::Enumerator::Current().
bool Cntm::HandledList< ValueT, StoreT >::Enumerator::Enumerated | ( | ) | const [inline] |
Возвращает true - если идет перечисление, т.
е. перечисление было начато и не достигнут конец перечня, иначе false.
См. определение в файле HandledList.h строка 182
const Type& Cntm::HandledList< ValueT, StoreT >::Enumerator::Current | ( | ) | const [inline] |
Возвращает текущее значение перечислителя.
Значение доступно только после первого вызова Next() и до тех пор, пока Next(), в том числе и первый, возвращает true. Значение Current() доступно, пока установлен флаг Enumerated().
См. определение в файле HandledList.h строка 187
bool Cntm::HandledList< ValueT, StoreT >::Enumerator::Next | ( | ) | [inline] |
При первом вызове после создания или сброса начинает перечисление.
Если в перечне есть хотя бы 1 эл-т, то Current() будет содержать первый эл-т, флаг Enumerated() и возвращаемое значение будут равны true. Если значений нет, то значение Current() неопределено, а флаг Enumerated() и возвращаемое значение будут равны false.
При последующих вызовах будет производится считывание следующих значений. Если будет достигнут конец перечня, то значение Current() будет неопределено, а флаг Enumerated() и возвращаемое значение будут равны false.
См. определение в файле HandledList.h строка 568
void Cntm::HandledList< ValueT, StoreT >::Enumerator::Reset | ( | ) | [inline] |
Сбросить перечислитель в исходное состояние, аналогичное состоянию после создания перечислителя.
См. определение в файле HandledList.h строка 592
HandledList* Cntm::HandledList< ValueT, StoreT >::Enumerator::List | ( | ) | const [inline, protected] |
const ItemId& Cntm::HandledList< ValueT, StoreT >::Enumerator::CurrentId | ( | ) | const [inline, protected] |
ItemId& Cntm::HandledList< ValueT, StoreT >::Enumerator::CurrentId | ( | ) | [inline, protected] |
friend class HandledList [friend] |
См. определение в файле HandledList.h строка 206
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |