√ Программы,
√ Сайты, √ Библиотеки
√ Хостинг, √ Домены
ООО МааСофтваре
+7(928)442-41-32
support@maasoftware.ru
   
Библиотека ToolsLib
Библиотека ToolsLib находится в нашем git-репозитарии.

git clone git://git.maasoftware.ru/ToolsLib ToolsLib


Переносимая между Windows 32/64 бит, Linux (копилировалась на Debian amd64). На 32-битном Linux'е разработка не ведётся, возможны некорорые легко исправляемые ошибки компиляции.

Содержит классы работы с датой/временем, строками, списками, массивами, файлами, hash-таблицами, B-tree, RB-tree, сокетами (socket2, select, частично epoll), сокетными таймерами, xml, потоками, мьютексами, md4, md5, библиотекой gd (Linux), CGI (Linux). Также содержит отдельно, для уменьшения зависимостей, подключаемые файлы работы с MySQL.

По тестам hash-таблицы быстрее unordered_map из STL примерно в 15 раз. (см. здесь) Имеет другие race-onditions по сравнению с unordered_map из STL.

По удобству, строки, например, не бросают exception при обращении за пределы, возвращая пустую подстроку или нулевой символ в зависимости от метода. Работают с байтовыми символами (например, с кодировками utf-8 или ansi), содержит функции с 16-битным Unicode, функции для web'а.

Работа с xml чем-то похожа на работу с xml в Qt.

Удобная работа с сокетами (текущие классы  разработаны для IPv4), в сокетных классах можно использовать высокоточные периодические таймеры, в том числе, и для генерации событий.

Работа с MySQL похожа на работу с sqllite на Java (Android).

Основа B-tree взята из книги Niklaus Wirth "Algorithms and data structures". Можно использовать интерфейс Вирта функции Search или воспользоваться Add, Find, Remove по аналогии с интерфейсом hash-таблиц.

Основа Red-Black balanced tree взята из книги Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн "Алгоритмы: построение и анализ. 3-е и 1-е (2-е) издание, с исправлением ошибок, но остались недочёты при некотором удалении вершин (местами несохранение некоторых свойств). Ключи могут дублироваться.

Разработчик - Моисеенко Андрей Алексеевич (ООО МааСофтваре), лицензия BSD.

Библиотека используется в таких пректах, как RusRoute firewall, система управления содержимым сайта ООО МааСофтваре (CMS ООО МааСофтваре), FTP сервер ООО МааСофтваре и других.
12.01.2017

Назад  Наверх

Пользователь
Новости
[...] 25.06.2017 отключен приём платежей через Яндекс.Кассу.
Другие ресурсы
Copyright © 2011-2017 ООО МааСофтваре   
Мы принимаем Яндекс.Деньги Мы принимаем переводы Сбербанка России Банковский перевод Способы и порядок оплаты
Посетителей сегодня: 2, всего: 32, максимально: 3, начиная с 12.01.2017, вы просматриваете эту страницу 1 раз(а). Заходите ещё!!!