Основная идея:
поток ввода (на FILE* или stdin (с выключенной буферизацией) (можно добавить на файловых дескрипторах unix)) прикидывается сишной строкой с forward итераторами (конец строки определяется при помощи функции bool atend(it)).
Плюс набор шаблонных функций (работающих и на си-строках и на итераторах потока), пытающихся что-то прочитать с заданной позиции.
Поток ввода - двух видов: обычный и с возможностью узнать номер строки/столбца по итератору.
- test/calc.cpp - пример калькулятора на strin-е
- test/winreg.cpp - пример анализа и простого преобразования файлов реестра винды
- test/instantiation.cpp - файл, в котором инстанцируются разные шаблоны для проверки их полной компилируемости
- base_parse.h - общие функции парсинга, - которые можно использовать как с сишными строками, так и с forward_tream ("документацию" см в комментариях, начинающихся со слов "ТАБЛИЧКА")
- forward_stream.h - потоки, прикидывающиеся си-строками с forward итераторами
- strin.h - поток над stdin
- strin.cpp - инстанцирование потока над stdin
- README.md - этот файл
PS используется c++11
- освоить doxigen
- сделать документацию
- операции над спанами и биспанами