2 つのベクトルがあるとします。
std::vector<int> A,B;
//Push a bunch of data into A
//Push a bunch of data into B
何らかの理由で、次のようなこれらのベクトルへのインターフェイスを作成したいと思います。
packed combined(A,B);
for(packed::iterator i=combined.begin();i!=combined.end();++i)
*i+=1;
これは、次と同じ効果があります。
for(std::vector::iterator i=A.begin();i!=A.end();++i)
*i+=1;
for(std::vector::iterator i=B.begin();i!=B.end();++i)
*i+=1;
これを行うクラスをコーディングすることはできますが、そのコードはどこかのライブラリに既に存在しているようです。これが事実であるかどうか誰かが知っていますか?
あるいは、これを行う狡猾な方法を思いつきますか?