concatenateとloop

昨日の思いつきですが、ストリームを+で連結する文脈では、*で繰り返すといのも違和感はなさそうです。現在、ストリームを連結可能にするには、

#include <hamigaki/iostreams/concatenate.hpp>
template<class T>
class some_source { ... };
HAMIGAKI_IOSTREAMS_CATABLE(some_source, 1) // 1 はSourceのテンプレート引数の数

のようにします。
「+」だけできるSourceや「*」だけできるSourceがあるのは変なので、HAMIGAKI_IOSTREAMS_CATABLEで+と*を実装してしまおうと思います。
concatenate.hppとloop.hppをインクルードするのは無駄が多すぎるので、前方宣言で回避すべきかなぁ。
今日は時間がないので、実装までは無理かも。

#日付変わったけど、一応できた。
今日の成果物