Кроме номера строки?
Автора знать не нужно, потому что "авторы по строкам" (blame) это особенность (бага) git.
По-уму авторы должны быть по кусочкам текста вплоть до буквы
(т.е. разные слова на одной строке могут принадлежать разным авторам, а git такое не покажет).
Если кроме номеров строк ничего не нужно, то и информацию о строке можно не складывать в объект, достаточно везде таскать с собой номер строки как целое число.
Если используются #include, то кроме номера строки хорошо бы ещё знать имя файла из которого эта строка взята. Но тут такая же ситуация как с git: вообще говоря, в произвольном фентезийном языке, include не обязан стоять на отдельной строке, а если текст директивы заменяется на текст файла, то в одной строке могут находиться символы из разных файлов.
Отредактировано Лис (2018-05-08 06:22:01)