Gratt
Модостроитель
- Регистрация
- 14 Ноя 2014
- Сообщения
- 3.301
- Благодарности
- 4.636
- Баллы
- 625
Назначение: динамические массивы
Определение: Array<T>
- Конструкторы
- Операторы
- Методы
Определение: Array<T>
- Конструкторы
Код:
Array()
Создет пустой массив.
Array( T* copy, const uint& count = Invalid )
Создает массив на основе векатора copy длиною count.
Если count равен Invalid, то размер будет определен через функцию _msize.
Array( Array& other )
Создает массив, имеющий общую область памяти с массивом other.
Array( const Array& other )
Создает копию массива other.
- Операторы
Код:
Array& operator += ( const T& obj )
Вставляет элемент obj в конец массива.
Array& operator += ( const Array& other )
Добавляет к текущему массиву данные массива other.
Array& operator |= ( const T& obj )
Вставляет элемент obj в конец массива, если похожих элементов больше нет.
Array& operator |= ( const Array& other )
Вставляет в текущий массив только уникальные элементы из массива other.
Array& operator -= ( const T& obj )
Исключает элемент obj из текущего массива.
Array& operator -= ( const Array& other )
Исключает элементы из текущего массива, соответствующие элементам массива other.
Array& operator ^= ( const T& obj )
Исключает все элементы, похожие на obj.
Array& operator ^= ( const Array& other )
Исключает все элементы, похожие на элементы массива other.
Array& operator = ( const Array& other )
Приравнивает значения текущего массива к значениям other.
bool operator == ( const Array& other ) const
Определяет равны ли массивы.
bool operator & ( const T& obj ) const
Определяет есть ли в массиве элемент obj.
const T& operator[]( const uint& index ) const
Возвращает ссылку на элемент под индексом index.
T& operator[]( const uint& index )
Возвращает ссылку на элемент под индексом index.
- Методы
Код:
T& Create()
Создает внутри массива элемент T и возвращает на него ссылку.
T& InsertEnd( const T& obj )
Вставляет элемент obj в конец массива.
T& Insert( const T& obj )
Вставляет элемент obj в конец массива.
T& InsertAt( const T& obj, const uint& index )
Вставляет элемент obj в index позицию массива массива.
T& InsertFront( const T& obj )
Вставляет элемент obj в начало массива.
void Remove( const T& obj )
Исключает элемент obj из массива.
void RemoveAt( const uint& index )
Исключает элемент с индексом index из массива.
void FastRemove( const T& obj )
Исключает элемент obj из массива без соблюдения порядка элементов.
void FastRemoveAt( const uint& index )
Исключает элемент с индексом index из массива без соблюдения порядка элементов.
void RemoveAtBounds( const uint& index, const uint& count )
Исключает из массива все элементы начиная с индекса index длиною count.
void Clear()
Очищает весь массив.
void Delete( const T& obj )
Удаляет элемент obj из массива.
void DeleteAt( const uint& index )
Удаляет элемент с индексом index из массива.
void FastDelete( const T& obj )
Удаляет элемент obj из массива без соблюдения порядка элементов.
void FastDeleteAt( const uint& index )
Удаляет элемент с индексом index из массива без соблюдения порядка элементов.
void DeleteAtBounds( const uint& index, const uint& count )
Удаляет из массива все элементы начиная с индекса index длиною count.
void DeleteData()
Удаляет все данные массива и очищает его.
void MergeArray( const Array& other )
Добавляет к текущему массиву данные массива other.
void MergeArrayAt( const Array& other, const uint& index )
Добавляет к текущему массиву данные массива other в указанное место index.
bool CompareLinear( const Array& other ) const
Линейно сравнивает текущий массив с массивом other.
bool CompareInsorted( const Array& other ) const
Нелинейно сравнивает текущий массив с массивом other.
Array& Normalize()
Исключает все повторения внутри массива.
const T* GetSafe( const uint& index ) const
Возвращает указатель на элемент по индексу index.
Если элемент по такому индексу не может существовать, то функция вернет Null.
T* GetSafe( const uint& index )
Возвращает указатель на элемент по индексу index.
Если элемент по такому индексу не может существовать, то функция вернет Null.
const T& GetFirst() const
Возвращает ссылку на первый элемент массива.
T& GetFirst()
Возвращает ссылку на первый элемент массива.
const T& GetLast() const
Возвращает ссылку на последний элемент массива.
T& GetLast()
Возвращает ссылку на последний элемент массива.
template<class O>
bool HasEqual( const O& obj ) const
Определяет имеет ли массив элемент, похожий на obj.
template<class O>
uint SearchEqual( const O& obj, const uint& begin = 0 ) const
Находит индекс элемента в массиве, похожего на obj начиная с элемента begin.
Если элемент не найден, то функция вернет Invalid.
template<class O>
uint CountOfEqual( const O& obj ) const
Считает количество элементов массива, похожих на obj.
void ReleaseData()
Вызывает функцию Release() для всех элементов массива.
T& InsertSorted( const T& obj )
Вставляет элемент в массив с учетом сортировки.
void MergeArraySorted( const Array& other )
Вставляет в массив элементы массива other с учетом сортировки.
template<class O>
T& CreateSorted( const O& byObj )
Создает внутри массива новый объект с учетом сортировки по шаблону byObj и возвращает ссылку на объект.
template<class O>
bool HasEqualSorted( const O& obj ) const
Определяет имеет ли массив элемент, похожий на obj производя сортированный поиск по массиву.
template<class O>
uint SearchEqualSorted( const O& obj ) const
Находит индекс элемента в массиве, похожего на obj производя сортированный поиск по массиву.
Если элемент не найден, то функция вернет Invalid.
template<class O>
void RemoveSorted( const O& obj )
Исключает элемент obj из массива производя сортированный поиск по массиву.
template<class O>
void DeleteSorted( const O& obj )
Удаляет элемент obj из массива производя сортированный поиск по массиву.
template<class O>
uint FindIndexForObject( const O& obj ) const
Находит наилучшую позицию в массиве для объекта obj и возвращает ее индекс.
Функция используется в алгоритмах соритровки.
Array& QuickSort()
Быстро сортирует массив.
void Copy( T** ppmem, const uint& index, const uint& count )
Создает новую область памяти в ppmem и копирует в нее данные массива начиная с index длиною count.
uint GetNum() const
Возвращает длину массива.
bool IsEmpty() const
Определяет пуст ли массив.
uint GetTypeSize() const
Возвращает размер типа T.
void SetLocatorMultiplier( const uint& rate )
Возвращает множитель аллокатора, на который будет увеличиваться размер памяти массива, когда она начнет заканчиваться.
void ShrinkToFit()
Уменьшает объем используемой памяти массива до границ его элементов.
Последнее редактирование: