Advertisement
Guest User

Untitled

a guest
May 2nd, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.43 KB | None | 0 0
  1. template<class T>
  2. class AorB {
  3.     T * a;
  4.     T * b;
  5.     bool flipbit = true;
  6. public:
  7.     AorB(T * first, T * second) : a(first), b(second)
  8.     {
  9.     }
  10.     T * current() {
  11.         return flipbit ? a : b;
  12.     }
  13.     T * next() {
  14.         return flipbit ? b : a;
  15.     }
  16.     T * flip() {
  17.         flipbit = !flipbit;
  18.         return current();
  19.     }
  20.     T & operator[](const int index) {
  21.         return *(current() + index);
  22.     }
  23. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement