C3D Toolkit  Kernel - 106477, Vision - 190409.106477

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

#include <templ_sfdp_array.h>

+ Граф наследования:SFDPArray< Type >:
+ Граф связей класса SFDPArray< Type >:

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

void Init (const SFDPArray< Type > &other)
 Сбросить себя и скопировать other.
 
size_t AddTry (Type &ent, Type *&found)
 Попробовать добавить элемент с сортировкой. Подробнее...
 
bool AddExact (Type &)
 Добавить элемент с сортировкой. Подробнее...
 
bool AddIfNotExist (Type &)
 Добавить элемент с сортировкой. Добавить элемент с сортировкой. Нельзя добавить повторно существующий объект. Возвращает true, если элемент добавлен, или false, если не добавлен.
 
void AddSimple (Type &ent)
 Доступ к функции базового класса - добавить элемент в конец массива. Доступ к функции базового класса - добавить элемент в конец массива.
 
size_t FindNearest (const Type &el, Type *&found) const
 Найти индекс элемента, используя функцию сравнения. Найти индекс элемента, используя функцию сравнения. элемент, который ищется. Подробнее...
 
Type * FindExact (const Type &el) const
 Найти индекс элемента, используя функцию сравнения. Найти индекс элемента, используя функцию сравнения. Вернет точно найденный элемент или NULL, если элемент не найден.
 
bool IsExist (const Type &el) const
 Вернет true, если элемент найден, или false в противном случае. Вернет true, если элемент найден, или false в противном случае.
 
size_t SearchIt (size_t, SearchFunc, Type *&found) const
 Найти индекс элемента, используя функцию поиска. Найти индекс элемента, используя функцию поиска. В 'found' будет лежать найденный элемент, или ближайший к искомому. Вернет -1, если ближайший элемент, или индекс найденного элемента.
 
void Sort (size_t minInd=SYS_MAX_T, size_t maxInd=SYS_MAX_T)
 Сортировать массив, используя функцию сравнения.
 

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

template<class Type>
class SFDPArray< Type >

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

Cортированный одномерный массив указателей на обьекты.
Нет повторного добавления. Без функции сравнения массив бесполезен.

Методы

◆ AddTry()

template<class Type >
size_t SFDPArray< Type >::AddTry ( Type &  ent,
Type *&  found 
)
inline

Попробовать добавить элемент с сортировкой.

Попробовать добавить элемент с сортировкой. Если объект уже существует, то не добавлять.

Аргументы
[in]ent- Элемент для добавления.
[out]found- Добавленный или найденный элемент.
Возвращает
Если элемент добавлен, то возвращает индекс добавленного объекта, в противном случае возвращает индекс найденного объекта.

◆ AddExact()

template<class Type >
bool SFDPArray< Type >::AddExact ( Type &  ent)
inline

Добавить элемент с сортировкой.

Добавить элемент с сортировкой. Нельзя повторно добавить существующий объект.

Возвращает
Возвращает true, если элемент добавлен. Если элемент не добавлен:
  • если он эквивалентен найденному в соответствии с функцией сравнения, но не тот же самый (указатели данного элемента и существующего не равны), то возвращается false.
  • если элемент тот же самый (указатели данного элемента и существующего равны), то возвращается true.

◆ FindNearest()

template<class Type >
size_t SFDPArray< Type >::FindNearest ( const Type &  el,
Type *&  found 
) const
inline

Найти индекс элемента, используя функцию сравнения. Найти индекс элемента, используя функцию сравнения. элемент, который ищется.

Аргументы
[out]found- В 'found' будет лежать найденный элемент, или ближайший к искомому.
Возвращает
Вернет -1, если ближайший элемент, или индекс найденного элемента.

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