воскресенье, 22 февраля 2009 г.

Little helpers

Наверное у каждого программиста есть такие маленькие функции, которые не делают ничего сверхъестественного, однако сильно упрощают жизнь.
Вот и у меня есть. И решил я что по мере появления новых буду публиковать их у себя на блоге, авось кому пригодится.
Начну с сегодняшней маленькой функции. В моем движке fEngine есть конечно же класс строки, однако когда пишешь маленькие демонстрашки или просто тесты, не всегда удобно его целиком подключать. Вот и сегодня мне было лень его подключать к моей новой демке OpenGL 3.0, а нужно было всего-навсего заменить в строке все пробелы на символы перевода каретки. Таким образом родилась такая малютка:
template<int what, int to>
int change_char( int c ) { if ( what == c ) return to; return c; }

И с помощью нее задача была решена просто и елегантно:
std::transform( extensions.begin(), extensions.end(), extensions.begin(), change_char<' ','\n'> );

В будущем постараюсь выкладывать наиболее интересные такие "помогашки", и возможно, соберу свои бывшие и новые в один файл и выложу здесь.

1 комментарий:

Andrey комментирует...

Очень удобно. Возьму на заметку.