У меня есть некоторые данные в буфере, на который указывает указатель const char*
. Данные - это всего лишь строка ASCII. Я знаю его размер. Я хотел бы иметь возможность читать его так же, как данные считываются из потоков. Я ищу решение, которое позволит мне написать такой код:
// 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;
Важное условие: данные нельзя копировать или изменять каким-либо образом (в противном случае я бы просто использовал поток строк. Насколько мне известно, невозможно создать поток строк из указателя const char без копирования данных.)