Advertisement
Guest User

Untitled

a guest
Nov 6th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. template<typename T> class faux_vector {
  2. std::vector<T> storage;
  3. std::size_t actual_size;
  4. public:
  5. faux_vector() : actual_size(0) {}
  6. void push_back(T& t) {
  7. if (actual_size == storage.capacity()) {
  8. std::vector<T> new_buffer;
  9. new_buffer.resize(storage.size() * 1.5 + 1);
  10. for(int i = 0; i < storage.size(); i++) {
  11. storage[i].swap(new_buffer[i]);
  12. }
  13. std::swap(storage, new_buffer);
  14. }
  15. storage[actual_size++].swap(t);
  16. }
  17. void pop_back() {
  18. T t;
  19. storage[actual_size--].swap(t);
  20. }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement