C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Одномерный массив указателей на объекты. Подробнее...

Граф наследования:RPArray< Type >:
[см. легенду]

Открытые типы

typedef Type * TPtr
 Имя указателя на объект.
 
typedef int(* CompFunc) (const Type **, const Type **)
 Шаблон функции сортировки.
 

Открытые члены

 RPArray ()
 Конструктор.
 
 RPArray (size_t i_upper, uint16 i_delta=1)
 Конструктор.
 
virtual ~RPArray ()
 Деструктор.
 
uint16 Delta () const
 Получить приращение по количеству элементов при выделении дополнительной памяти.
 
size_t Upper () const
 Количество элементов, для которых выделена память?
 
void Delta (uint16 newDelta)
 Установить приращение по количеству элементов при выделении дополнительной памяти (1 - автоприращение).
 
void SetMaxDelta (uint16 newDelta)
 Установить максимальное из приращений.
 
void SetSize (size_t newSize)
 Установить новый размер массива.
 
void Reserve (size_t n, bool addAdditionalSpace=true)
 Зарезервировать место под столько элементов.
 
void Add (Type *)
 Добавить элемент в конец массива.
 
void AddAt (Type *e, size_t index)
 Вставить элемент в указанную позицию.
 
void AddAfter (Type *e, size_t index)
 Добавить элемент после указанного.
 
void Insert (size_t index, Type *)
 Вставить элемент перед указанным.
 
void AddArray (const RPArray< Type > &)
 Добавить массив.
 
void AddCArray (const Type **, size_t count)
 Добавить C-массив.
 
void InsertArray (const RPArray< Type > &, size_t index)
 Добавить массив в позицию.
 
void DetachAll ()
 Удалить все элементы обнулить количество элементов.
 
void Adjust ()
 Удалить лишнюю память.
 
Type * DetachInd (size_t delIndex)
 Отсоединить элемент от массива.
 
bool DetachObj (const Type *delObject)
 Отсоединить элемент от массива.
 
virtual Type * RemoveInd (size_t delIndex, DelType=defDelete)
 Удалить элемент из массива по индексу.
 
void Swap (RPArray &arr)
 Обменять местами данные массивов.
 
size_t FindIt (const Type *) const
 Найти элемент по указателю.
 
bool IsExist (const Type *) const
 Есть ли элемент в массиве.
 
size_t Count () const
 Получить количество элементов массива.
 
ptrdiff_t MaxIndex () const
 Получить индекс последнего объект в массиве.
 
void Sort (CompFunc comp)
 Сортировать массив.
 
Type *& operator[] (size_t loc) const
 Оператор доступа по индексу.
 
Type * GetLast () const
 Получить адрес последнего элемента в массиве.
 
size_t size () const
 Дать количество элементов массива.
 
void reserve (size_t n)
 Зарезервировать место под столько элементов.
 
size_t capacity () const
 Под какое количество элементов выделена память?
 
void push_back (const Type *e)
 Добавить элемент в конец массива.
 
template<class Iterator >
void insert (Iterator pos, const Type *e)
 Вставить элемент перед указанным.
 
template<class Iterator >
void erase (Iterator pos)
 Удалить элемент из массива по индексу.
 
template<class Iterator >
void erase (Iterator first, Iterator last)
 Удалить элементы из массива начиная с индекса first до last-1 включительно.
 
virtual void clear ()
 Обнулить количество элементов.
 
void shrink_to_fit ()
 Удалить лишнюю память.
 
const TPtrbegin () const
 Получить указатель на первый элемент массива.
 
TPtrbegin ()
 Получить указатель на первый элемент массива.
 
const TPtrend () const
 Получить указатель на участок памяти после массива.
 
TPtrend ()
 Получить указатель на участок памяти после массива.
 
const TPtrcbegin () const
 Получить указатель на первый элемент массива.
 
const TPtrcend () const
 Получить указатель на участок памяти после массива.
 

Защищенные члены

const Type ** GetAddr () const
 Получить указатель на первый элемент массива.
 
const TPtr_Begin () const
 Получить указатель на первый элемент массива.
 
TPtr_Begin ()
 Получить указатель на первый элемент массива.
 
const TPtr_End () const
 Получить указатель на участок памяти после массива.
 
void CatchMemory ()
 Захватить память.
 
void AddMemory (size_t n)
 Обеспечить место в памяти под n элементов, независимо от AutoDelta.
 
size_t AutoDelta () const
 Вычислить автоприращение.
 

Защищенные данные

size_t count
 Количество элементов в массиве.
 
size_t upper
 Под какое количество элементов выделена память.
 
uint16 delta
 Приращение по количеству элементов при выделении дополнительной памяти.
 

Подробное описание

template<class Type>
class RPArray< Type >

Одномерный массив указателей на объекты.

Шаблонный массив, работающий с указателями на объекты.


Объявления и описания членов классов находятся в файлах: