Tworzenie strumienia wejściowego ze stałej pamięci

Mam dane w buforze wskazywanym przez aconst char* wskaźnik. Dane są tylko łańcuchem ASCII. Znam jego rozmiar. Chciałbym móc go odczytać w ten sam sposób, w jaki dane są odczytywane ze strumieni. Szukam rozwiązania, które pozwoliłoby mi napisać taki kod:

// 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;

Ważny warunek:dane nie mogą być kopiowane ani zmieniane w żaden sposób (w przeciwnym razie użyłbym po prostu strumienia znaków. Według mojej najlepszej wiedzy nie można utworzyć strumienia znaków ze wskaźnika const char bez kopiowania danych).

questionAnswers(2)

yourAnswerToTheQuestion