После почти двух лет разработки состоялся выпуск 5.0 библиотеки STC (header-only), написанной на языке C (стандарт C11) и распространяемой по лицензии MIT.
Библиотека предоставляет большой набор структур данных и алгоритмов, основанных на макросах C и свою реализацию регулярных выражений и форматированного вывода.
Что нового:
- Новая основная система сборки с Meson. Также прилагается простой Makefile.
- Новый тип
sum
(тегированныйunion
) вalgorithm.h
. - Новый одно/многомерный тип
span
, подобный реализации в NumPy. - Корутины теперь поддерживают структурированный параллелизм, симметричные корутины и обработку ошибок.
- Параметр шаблона
i_type
позволяет определитьi_type
,i_key
иi_val
в одной строке, через запятую. - Параметры шаблона
i_keyclass
иi_valclass
для указания типов, для которых определены функции_drop()
и_clone()
. - Параметры шаблона
i_keypro
иi_valpro
для задания типовcstr
,box
иarc
(пользователи также могут определять pro-типы). hmap
теперь использует хэширование Robin Hood (очень быстрое с компиляцией clang).- Добавлено несколько новых алгоритмов, подобных C++
std::ranges
, например,c_filter
. - Множество улучшений и исправлений ошибок.