| 171 | mData.erase(mData.end()-2); |
| 172 | } |
| 173 | void scrape() {// ... x -- x |
| 174 | if (mData.empty()) throw std::invalid_argument("Stack::scrape: empty stack"); |
| 175 | mData.erase(mData.begin(), mData.end()-1); |
| 176 | } |
| 177 | void clear() {mData.clear();} |
| 178 | void over() {// y x -- y x y |
| 179 | if (mData.size()<2) throw std::invalid_argument("Stack::over: size<2"); |