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から削除する
若干やりすぎ感はありますが、おもしろい試みだと思います。