fork download
  1. #include <iostream>
  2. #include <list>
  3. using namespace std;
  4.  
  5. template <typename T>
  6. class Hybrid
  7. {
  8. public:
  9. Hybrid() : m_activeStackSize(0) {}
  10.  
  11. private:
  12. std::list<T> data;
  13.  
  14. size_t m_activeStackSize;
  15.  
  16. auto internal_peek() -> typename decltype(data)::iterator
  17. {
  18. if (m_activeStackSize) // peek from stack
  19. {
  20. typename decltype(data)::iterator itr = data.end();
  21. std::advance(itr, -1);
  22. return itr;
  23. }
  24. else //peek from queue
  25. {
  26. typename decltype(data)::iterator itr = data.begin();
  27. return itr;
  28. }
  29. }
  30. };
  31.  
  32. int main() {
  33. // your code goes here
  34. return 0;
  35. }
Success #stdin #stdout 0s 3408KB
stdin
Standard input is empty
stdout
Standard output is empty