git-svn-id: svn://db.shs.com.ru/pip@891 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -361,6 +361,27 @@ public:
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef PIP_CXX11_SUPPORT
|
||||
PIVector<T> forEach(std::function<T(const T &)> f) const {
|
||||
PIVector<T> ret; ret.reserve(piv_size);
|
||||
for (uint i = 0; i < piv_size; ++i)
|
||||
ret << f(piv_data[i]);
|
||||
return ret;
|
||||
}
|
||||
PIVector<T> & forEachInplace(std::function<T(const T &)> f) {
|
||||
for (uint i = 0; i < piv_size; ++i)
|
||||
piv_data[i] = f(piv_data[i]);
|
||||
return *this;
|
||||
}
|
||||
template <typename ST>
|
||||
PIVector<ST> toType(std::function<ST(const T &)> f) const {
|
||||
PIVector<ST> ret; ret.reserve(piv_size);
|
||||
for (uint i = 0; i < piv_size; ++i)
|
||||
ret << f(piv_data[i]);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
inline void _reset() {piv_size = piv_rsize = 0; piv_data = 0;}
|
||||
inline size_t asize(size_t s) {
|
||||
|
||||
Reference in New Issue
Block a user