RO - Range Operators

RO — Range Operators


Range演算に演算子を付けてみた、というプロジェクト。

rng << value

とすると、rngの最後尾に新たな要素valueを追加するという意味になり、rng.push_back(value)と同じになります。

value >> rng

とすると、先ほどとは反対に、rngの先頭に新たな要素valueを追加するという意味になります。rng.push_front(value)です。

特定の要素を削除するには、operator-を使います。

rng - value; // 値valueと等値な要素をrngから削除する

rng - pred; // 述語predを満たす要素をrngから削除する

若干やりすぎ感はありますが、おもしろい試みだと思います。