Спасибо за полезный совет. Думаю что GHashTable из GLib вполне подойдет. Только я пока не до конца понимаю детали.
К>Таким образом, тебе нужен ассоциативный контейнер с быстрым доступом. Это или дерево, или хеш-таблица.
Хэш-таблице нужен ключ. У меня в одном файле может быть много вызовов функций и вызов в одной и той же строке может происходить в разных файлах. Т.о. уникальность региона дает пара (файл, строка в файле). Т.к. стандартные функции вычисления хэша работают с простыми типами, то мне придется писать свою хэш-функцию?
Я не очень силен в этом. Объясните на пальцах, какие должны быть хэш-таблицы и что у них будет ключ, а что значение. По идее по кортежу (файл, строка, имя_фунции, и т.п....), должен возвращаться id региона. Как это провернуть? Через две хэш-таблицы?