Класс переопределяет оператор [ ], чтобы сократить код обращения к ячейкам списка.

CmaList ();

Создание нового пустого списка.

CmaList (ImaList *list);

Получение доступа к списку, заданному своим интерфейсом.

CmaList (CmaCell &cell);

Получение доступа к списку, хранящемуся в ячейке. Если ячейка не является списком, то в ней создаётся новый пустой список, а старое содержимое затирается.

long Size();

Получить длину списка.

CmaCell& CmaList::operator[] (long i);
CmaCell& CmaList::operator[] (maString i);

Получить элемент списка по его номеру или имени. Несуществующие ячейки создаются автоматически.
CmaCell* CmaList::GetCell (long i);
CmaCell* CmaList::GetCell (maString i);

Чтобы обращаться к существующим ячейкам списка без автоматического добавления, следует использовать функции GetCell. Если ячейка не найдена, эти функции возвращают нулевой указатель.

maString NameOf(long index);

Получить имя элемента по его номеру.

long AddCell(maString name);

Добавить ячейку с именем name в конец списка. Возвращает номер созданой ячейки в списке или -1, если ячейка с этим именем уже есть в списке.

void CreateCells(long count);

Сделать количество ячеек в списке не меньшим count. При необходимости создает новые ячейки без имени в конце списка, но никогда не удаляет уже существующие ячейки.

long IndexOf(maString name);

Найти элемент с именем name и вернуть его номер. Если не найден элемент списка с ткаим именем, возвращает -1.

void Clear();

Удаляет все ячейки из списка.