地形データをファイルに保存し、その一部だけをロードしたいと考えています。全体としてメモリに保存するには大きすぎるためです。実際、プロトブフがこの目的に適しているかどうかさえわかりません。
たとえば、次のような構造になります (文法的に無効である可能性があります。単純な基本しか知りません)。
message Quad {
required int32 x = 1;
required int32 z = 2;
repeated int32 y = 3;
}
x値とz値は私のプログラムで利用できます。それらを使用して、同じxとz (ファイル内) を持つ正しい Quad オブジェクトを見つけてy値を取得したいと思います。ただし、ParseFromIstream()でファイルを解析することはできません。ファイル全体をメモリにロードするためです (そう思う) が、私の場合はファイルが大きすぎます。
それで、protobuf は 1 つのオブジェクトをロードできますか?それをチェックするために私を送ってください。オブジェクトが間違っている場合は、2 つ目のオブジェクトを渡してください。
実際...私はただ尋ねることができます: ParseFromIstream()はファイル全体をメモリにロードしますか?