безмозглый дегенерат и даун пакард должен был съебать делать свой хуялент сразу как только родился. ну, или вообще не рождаться. как и вся остальная «команда» x.org.
почему? ну, если вот этого мало (им там написали, что в xlib баг; но эти дегенераты насильно — атрибутом компилятора — депрекатнули нормальный юзабельный API, чтобы нагадить всему нормальному и работающему софту ворнингами), то у меня есть ещё.
дегенеративные уёбки из x.org окончательно сломали уникодный вывод с фонтсетами, через `XwcDrawImageString()` (и Xmb, и Xutf8). у меня иксы не обновлялись лет пять или больше — там оно ещё работает (хоть и подглюкивает). в «современных» иксах не работает в принципе, тупо рисует рандомную поебень. причём даже для ASCII. (есть нюансы, но в целом — сломано в полный хлам.)
чтобы вы понимали: `XCreateFontSet()` задумывался как раз чтобы не заниматься восходом солнца вручную, перебирая доступные шрифты и создавая мапинги, если шрифт «iso10646» отсутствует. также «iso10646» покрывает только 16-битные коды, и `XDrawImageString16()` не очень удобен в использовании (он всегда big-endian, так что всегда приходится делать принудительную конверсию). фонтсеты были придуманы чтобы это всё упростить. но их ломали, ломали, и наконец в «современных» икслибах доломали до состояния, когда они просто не работают вообще. зачем было ломать то, что (почти) отлично работало много лет? а потому что можем, блядь.
и да, эти дегенераты теперь пишут вам вяленд. кого-то ещё удивляет, что за 10+ лет вяленд всё ещё «ну, он недавно появился, поэтому не всё работает как должно»? чтобы вы ощутили разницу: Отцы запилили иксы за три года, и уже больше тридцати лет иксы Просто Работают.
структура данных, которая обеспечивает производительность O(2*n) (где `n` — длина ключа; если что, у хэш-таблицы тоже как минимум такое, потому что сам хэш считать-то надо, и делать в лучшем случае ещё одно сравнение; на деле сравнений бывает и больше одного, так что O даже хуже) вне зависимости от количества элементов, гарантировано сортированые ключи, быстрое доставание минимального и максимального ключей, перечисление всех ключей с данным префиксом, и чтобы писать просто? их есть у меня! называется crit-bit tree (сишечка).
также не требует рехэшинга/ребаланса, и реаллоков.