Быстрая версия тестлиба)
Пролог: в 90% случаев мне хватает readInt, readWord, readLine, readSpace, readEoln, readEof...
Так появились данные 10 кило кода.
Минус: минимальная функциональность.
Плюс: быстро компилится, быстро работает, цветной вывод под linux... он же раньше не поддерживался, правда? :-)
Все, что реализовано, вроде бы совместимо с testlib.h 0.7.4
Свои validate.cpp, check_int.cpp и check_word.cpp я протестил под mingw g++ 4.7.2, msvc 2008, linux g++ 3.3 (какой уж есть, ssh sk1@195.19.228.2)
Код валидатора и чекеров менять не пришлось, работает.
Доступная функциональность:
void registerValidation()
void registerTestlibCmd( int argc, char *argv[] )
void unreadChar( int c );
int readChar( byte c );
int readChar();
int nextChar();
int curChar();
bool eof();
bool eoln();
void readEof();
void readEoln();
int readSpace();
bool seekEoln();
bool seekEof();
void skipBlanks();
void skipSpaces();
int readInt();
int readInt( int l, int r );
long long readLong();
long long readLong( long long l, long long r );
char *readToken();
char *readWord();
char *readLine();
void quitf( TResult result, const char *msg, ... ) (global and member)
__testlib::resetBuffer() // нужно использовать, если суммарная длина 3-х файлов превышает 10^8 байт