Range

で,ですね.(ソート済み)rangeというヤツはですね,unionやintersectionといった演算においてmonoid(安定かどうかを無視すればcommutative monoid),さらにunionとintersectionの間には相互にdistributivityがある(でも双方ともinverseないのでringになれない(´・ω・`)ショボーン.っていうかこういう代数構造ってなんか特別な名称あったっけ?)のでこれをoperator+とoperator*で書(以下略
さらに単項関数を作用域にとってrange * unary_functionでtransformとか,単項述語を(右)作用域にとってrange / unary_predicateでfilter(以下略
(´-`).。oO(いや,冗談じゃなくてそのうち本気でBoostあたりで提案されないかにゃ〜と思ってたり・・・)
#別にinfixにこだわらなくても閉じてるっていうただそれだけでprefixでも十分(゜д゜)ウマーなんだけれど.特にcompositiveなことをしたい場合なんか.これはiteratorでは無理だったことだから.あと,lazyってところが個人的にすごい(゜д゜)ウマー.
分配束でした・・・.っていうかinverseがないっていうのも大ウソやんorz.
#大ウソか?