単語ごとに読み取るのではなく、ストリームから行単位で読み取るユーティリティ関数のセットがあります。それらは s で動作するので、これらの関数のスコープ内のみで抽出演算子stringをローカルに変更したいと思います。stringそれは可能ですか?
私が今していることは、 である を作成し、その構造体のみの抽出演算子を作成するstructことですstring。
struct line{
string str;
};
istream& operator>>(istream& lhs, line& rhs){
return getline(lhs, rhs.str);
}
そして、次のistreamように抽出します。
vector<line> foo{ istream_iterator<line>(istringstream("Lorem Ipsum\nLorem Ipsum")), istream_iterator<line>() };
struct lineこれはうまくいきますが、ラッパーが好きではありません。私が求めているのは、istream& operator>>(istream& lhs, string& rhs)代わりにこれを達成するためにローカルでオーバーロードできますか?