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