Erstellen eines Eingabestreams aus dem konstanten Speicher
Ich habe einige Daten in einem Puffer, auf den durch a verwiesen wirdconst char*
Zeiger. Die Daten sind nur eine ASCII-Zeichenfolge. Ich kenne seine Größe. Ich möchte es genauso lesen können, wie Daten aus Streams gelesen werden. Ich suche nach einer Lösung, mit der ich folgenden Code schreiben kann:
// for example, data points to a string "42 3.14 blah"
MemoryStreamWrapper in(data, data_size);
int x;
float y;
std::string w;
in >> x >> y >> w;
Wichtige Bedingung:Die Daten dürfen in keiner Weise kopiert oder verändert werden (Andernfalls würde ich nur einen String-Stream verwenden. Nach meinem besten Wissen ist es nicht möglich, einen String-Stream aus einem const char-Zeiger zu erstellen, ohne die Daten zu kopieren.)