私はさまざまなPODタイプに加えてstd :: stringを表すVariantクラスを持っています。テンプレートメソッドT get_value(const Variant&)
があり、そこから基になるタイプを抽出できます。std :: vector(または他のシーケンス)から読み込むためのストリーム構文?
私はこれらのベクトルがあるとします。 std::vector<Variant> variants;
、と私はそうのように、便利な構文でそれからいくつかの値を読みたい:
int x;
double y;
std::string z;
// Get elements 0, 1, and 2 as int, double, and string respectively
streamlikeObject >> x >> y >> z;
質問は次のとおりです。例の架空のstreamlikeObject
を形成するための良い方法は何ですか?私は抽出演算子で自分のクラスを作成することを想像することができますが、私はちょうどstdライブラリに何かがあるかどうか、または多分このようなことを処理するBoostに興味があります。
代わりに、類似のコード簡潔性でどのようにこのデータを抽出することができますか?たぶん、ストリーム構文のより良い代替方法があります。このような
グローバルオペレータ ' streamlikeObject&operator <<(streamlikeOperator&s、T&t) 'のオーバーロードはどうですか? –
streamlikeObjectが存在しないという問題があります。 :) – Kylotan