std::stringstream operator >> に最初の空白で停止するのではなく、文字列全体を強制的に読み取る方法は?
テキスト ファイルから読み取った値を格納するテンプレート クラスがあります。
template <typename T>
class ValueContainer
{
protected:
T m_value;
public:
/* ... */
virtual void fromString(std::string & str)
{
std::stringstream ss;
ss << str;
ss >> m_value;
}
/* ... */
};
ストリーム フラグの設定/設定解除を試みましたが、役に立ちませんでした。
明確化
このクラスは、型 T との間の自動変換を備えたコンテナー テンプレートです。文字列はテンプレートの 1 つのインスタンスにすぎず、他の型もサポートする必要があります。そのため、演算子 >> に std::getline の動作を模倣させたいのです。