запустить чужую функцию для каждого элемента вектора
От: Пандочка  
Дата: 31.10.07 00:19
Оценка:
Здрастуйте здесь.

У меня несложный вопрос, ответ на который, вероятно, даст мне понять, как все-таки все (или почти все) устроено.
У меня есть вектор с wstring.
std::vector<std::wstring> v;

Заполненный всякой всяченой. Как красивее всего будет запустить для каждого элемента вектора функцию, принимающую в качестве параметра не wstring, а LPWCSTR.
void foo(LPCWSTR a);

Конечно, ничего не стоит сделать нечто вроде:
void yahoo(std::wstring a)
{ 
   LPCWSTR l = a.c_str();
   ...
}

std::for_each(v.begin(), v.end(), yahoo);

Но создавать функции — ограничение.
Хочется что-то вроде static_cast<vector<LPCWSTR>>(v) (это, конечно, ересь).
Как это правильно и красиво сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.