rvalue functions for containers
This commit is contained in:
@@ -33,10 +33,17 @@ public:
|
||||
PIStack() {;}
|
||||
virtual ~PIStack() {;}
|
||||
PIVector<T> & push(const T & v) {PIVector<T>::push_back(v); return *this;}
|
||||
PIVector<T> & push(T && v) {PIVector<T>::push_back(std::move(v)); return *this;}
|
||||
T pop() {return PIVector<T>::take_back();}
|
||||
T & top() {return PIVector<T>::back();}
|
||||
const T & top() const {return PIVector<T>::back();}
|
||||
PIVector<T> toVector() {PIVector<T> v(PIVector<T>::size()); for (uint i = 0; i < PIVector<T>::size(); ++i) v[i] = PIVector<T>::at(i); return v;}
|
||||
PIVector<T> toVector() {
|
||||
PIVector<T> v;
|
||||
v.reserve(PIVector<T>::size());
|
||||
for (uint i = 0; i < PIVector<T>::size(); ++i)
|
||||
v.push_back(PIVector<T>::at(i));
|
||||
return v;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // PISTACK_H
|
||||
|
||||
Reference in New Issue
Block a user