Comparators.mac

..\mac\extra\OOP\Comparators.mac

Реализованные функции-компараторы (compare и equals).

Импорты

rcw

Известные зависимые

Реализация списка на основе массива TArray

Файл включает в себя реализацию интерфейса map через два массива

Библиотека коллекций для языка RSL

Объекты коллекторы

Библиотека вспомогательных классов и функций в ООП и функциональном стиле

Файл включает в себя реализацию классического интерфейса map через хэш-таблицу

Файл включает в себя реализацию классического интерфейса set, коллекцию уникальных значений

Базовые классы и функции коллекций

Файл включает в себя реализацию классов LinkedHashMap

Файл включает в себя реализацию LinkedHashSet - коллекции уникальных элементов с сохранением порядка добавления

Файл включает в себя реализацию связного списка LinkedList и отсортированного связного списка SortedLinkedList

InMemory Database. Позволяет динамически создавать, заполнять структуру со схожим интерфейсом TbFile

Вспомогательные классы и функции для реализации ООП паттернов

Библиотека для легкого тестирования пользовательских классов, макросов и модулей, написанных на RSL

Реализация Stream Api

Утилиты для работы с датой и временем

Файл включает в себя реализацию классического интерфейса map через красно-черное дерево

Реализация отсортированной коллекции уникальных значений

Функции

macro CF_CompareNullable (el1 : Variant, el2 : Variant) : Integer

Сравнение примитивных типов с учетом возможности аргументов == Null

macro CF_ComparePrimitive (el1 : Variant, el2 : Variant) : Integer

Сравнение двух примитивных типов средствами языка (==, >, <)

macro CF_CompareStrIgnoreCase (s1 : String, s2 : String) : Integer

Сравнение двух строк без учета регистра

macro CF_CompareToImpl (o1, o2)

Сравнение двух экземпляров пользовательского класса, реализующих метод compareTo(otherObj) : Integer

macro CF_EqualsByCompareTo (o1 : Object, o2 : Object) : Bool

Проверка равенства двух экземпляров пользовательского класса, реализующих метод compareTo(otherObj) : Integer

macro CF_EqualsImpl (o1 : Object, o2 : Object) : Bool

Проверка равенства двух экземпляров пользовательского класса, реализующих метод Equals(otherObj) : Bool

macro CF_EqualsPrimitive (p1, p2) : Bool

Функция проверки на равенство двух примитивов одного типа

macro CF_ObjectEquals (o1, o2) : Bool

Проверка объектов на полное равенство по свойствам (в т

macro CF_StrEqualsIgnoreCase (s1 : String, s2 : String) : Bool

Функция проверки на равенство двух строк без учета регистра

macro TArrayEquals (arr1, arr2) : Bool

Функция эквивалентности двух массивов TArray. Последовательно вызывает для каждой пары элементов массивов VariantEquals

macro VariantCompare (o1 : Variant, o2 : Variant) : Integer

Универсальная функция-компаратор для двух переменных RSL o1 и o2

macro VariantEquals (o1 : Variant, o2 : Variant) : Bool

Универсальная функция проверки на равенство двух переменных RSL o1 и o2

Классы

Class CF_ObjectComparator ([varargs])

Объект-компаратор генерирует метод-компаратор и предоставляет ссылку на него методом getFunc

Class CF_ObjectComparator2 (obj)

Объект-компаратор генерирует метод-компаратор и предоставляет ссылку на него методом getFunc

Class CF_PairsComparator (keyComparator)

Объект для сравнения объектов типа Pair по ключу согласно функции keyComparator. Методом getFunc() возвращается необходимая функция компаратор