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