fork(3) download
  1. #include <iostream>
  2. #include <memory>
  3. #include <deque>
  4. #include <utility>
  5.  
  6. class DataBox
  7. {
  8. public:
  9. DataBox(int i) {}
  10. };
  11.  
  12. template <typename T>
  13. class Queue
  14. {
  15. public:
  16. template <typename U>
  17. void push(U &&param)
  18. {
  19. m_deque.push_front(std::forward<T>(param));
  20. }
  21.  
  22. private:
  23. std::deque<T> m_deque;
  24. };
  25.  
  26. int main()
  27. {
  28. Queue<std::unique_ptr<DataBox>> queue;
  29. std::unique_ptr<DataBox> d1 = std::make_unique<DataBox>(11);
  30. std::unique_ptr<DataBox> d2 = std::make_unique<DataBox>(22);
  31. queue.push(d1);
  32. queue.push(std::move(d2));
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0s 4388KB
stdin
Standard input is empty
stdout
Standard output is empty