整数 + 特殊な値を表現する型

ウィンドウをpopしていくような処理の場合、{1, 2, 3...}のようなpopする回数に加えてRootのような特殊な値が必要になる。

こういう場合は、boost::variant<int, PopEnum>が使えるかもしれない。